Você está na página 1de 54

Why and how should we test software architecture and software design?

Zarko Acimovic

Software Defects Potentials


As an example for function point measure Win 7 has ~100K Function Points, Microsoft Word has ~5K Function Points. The technology assumptions underlying below table assume CMMI level 1 and a traditional waterfall development method. Source: Chapter 2. Estimating and Measuring Software Quality. The Economics of Software Quality, ISBN: 9780132564762 , Pages 40, 41, Capers Jones, Olivier Bonsignour http://www.amazon.com/Economics-Software-Quality-Capers-Jones/dp/0132582201 http://www.informit.com/store/product.aspx?isbn=0132582201

Defects per Function Point Requirement Defects Architectural Defects Design Defects Coding Defects Test Plan and Test Case Defects User Documentation Defects Database Defects Website Defects TOTAL 1.15 0.25 1.50 2.00 1.85 0.75 2.75 1.75 12.00

Percent of Total Defects 9.58% 2.08% 12.50% 16.67% 15.42% 6.25% 22.92% 14.58% 100.00%

ms Sys te

Operational

http://www.disi.unige.it/person/ReggioG/ISII04WWW/DODAF.ppt

ch Te n ic al

DoD Architecture Framework Overview


Alessio Mosto May, 2004 Source:

Architecture Definition

The structure of components, their relationships, and the principles and guidelines governing their design and evolution over time.
DoD Integrated Architecture Panel, 1995, based on IEEE STD 610.12

An architecture is the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.
IEEE STD 1471-2000

Alessio Mosto

DoD Architectural Framework

Architecture vs. Design

System Architecture is used to:


Make

buy decisions Discriminate between options Discover the true requirements Drive one or more systems to a common use or purpose

System Design is used to:


Develop

system components Build the system Understand configuration changes as the system is modified
Alessio Mosto DoD Architectural Framework 3

Basic Principles - An Integrated Architecture with Three Views


Activities/ Tasks

Operational View
Identifies What Needs To Be Done And Who Does It

Operational Elements

Information Flow Systems Data Flow Standards Rules

X Y

Systems View

X Z

Technical Standards View


Prescribes Standards and Conventions

Relates Systems and Characteristics Y to Operational Needs X

Communications

Conventions

Alessio Mosto

DoD Architectural Framework

Architecture Views

Alessio Mosto

DoD Architectural Framework

Software Architecture Defects


Source: A Dissertation Presented to the Graduate School of Clemson University In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy Computer Science by Kyungsoo Im December 2010 Links http://etd.lib.clemson.edu/documents/1306855520/ http://etd.lib.clemson.edu/documents/1306855520/Im_clemson_0050D_10926.pdf

ArchStudio and ArchLight !


http://www.isr.uci.edu/projects/archstudio/whatis.html

Software Design Defects


Sources http://www.cslhr.nu.edu.pk/GCCS/Spring2010/papers/Kamran.pdf http://www.scribd.com/doc/17402321/Software-Design-Defects-2 http://www.ptidej.net/Members/mohanaou/paper/ASE06/Moha06-ASE.pdf
http://www-etud.iro.umontreal.ca/~ptidej/yann-gael/Work/Publications/Documents/ASE06.ppt.pdf

6/24/2009

Software Design Defects Software Design Defects


Design Patterns are good solutions to recurring design problems
Where you want to be in terms of good design

Design Defects are bad solutions to recurring problems


Where you should not find yourself in software development

Design Defects lessen the quality of OO architectures and impede their evolution and their maintenance

Patterns and Software Defects


To Err Is Human 2 categories:
High-level (global) problems: AntiPatterns Low-level (local) problems: Code Smells

AntiPatterns
AntiPatterns provide patterns that have negative consequences on software development effort
Reality of a good number of software projects

Help identifying problems in software


Bad design results from common mistakes and misunderstandings

deviations from specifications or expectations which might lead to failures in operation They describe in general what not to do Arise due to lack of knowledge and experience A good form of problem-solving approach

Provide common vocabulary to discuss problems and their solutions in software industry Understanding AntiPatterns provides the knowledge to prevent or recover from them

WellWell-known AntiPatterns
AntiPatterns are all around us. Theyre often used as tools for social control. SOCIAL AntiPatterns Criminal Drug Addict Witch PickPocket

AntiPatterns
Root causes
Haste
Good design is a product of careful study Trimming budgets, unrealistic committeements Leads to compromises in software quality

Apathy
Not caring about solving known problems

Narrow-mindedness
Refusal to accept widely known solutions

Laziness (Sloth)
Configuration management

Ignorance
Failing to seek understanding

Pride
Not-invented-here syndrome: avoids using or buying already existing products

6/24/2009

AntiPatterns
Describe context and causes Describe symptoms to detect an AntiPattern in legacy software Describe their consequences Describe a roadmap for their solution In this course, we shall only cover AntiPatterns related to software code

The Blob
Blob (Huge Class) Procedural-style design leads to one object with a lions share of the responsibilities while most other objects only hold data or execute simple processes Large controller class Many fields and methods with a low cohesion Dependent on the data stored in associated data classes

The Blob
Library_Main_Control

The Blob
Item
Title ISBN

Person
Name User_ID Items_Out Fines

Current_Catalog Current_Item User_ID Fine_Amount Etc. Do_Inventory() Check_Out_Item(Item) Check_In_Item(Item) Add_Item(Item) Delete_Item(Item) Print_Catalog() Sort_Catalog() Search_Catalog(Params) Print() Issue_Library_Card() Calculate_Late_Fine()

Causes and Consequences Typical Causes


Lack of proper Object-Oriented architecture Prototype software evolves into a product Lack of architectural enforcement

Author
Publisher Cost Data_In Qty

Consequences
Catalog
Topic Inventory

Modular continuity is compromised Too complex for reuse and testing Expensive to load into memory even for small operations

The Blob
Solution
Avoid it
Managers should review program design regularly

The Blob - Solution


Library_Main_Control

Item
Title ISBN

Person
Name User_ID Items_Out Fines

Current_Catalog Current_Item User_ID Fine_Amount Etc. Do_Inventory() Check_Out_Item(Item) Check_In_Item(Item) Add_Item(Item) Delete_Item(Item) Print_Catalog() Sort_Catalog() Search_Catalog(Params) Print() Issue_Library_Card() Calculate_Late_Fine()

Author
Publisher Cost Data_In Qty

Refactor it
Move behavior away from the Blob Construct cohesive classes: cohesive set of attributes and methods are encapsulated together Remove far-coupling

Catalog
Topic Inventory

6/24/2009

Spaghetti Code
Ad hoc software structure makes it difficult to extend and optimize code. Code with very little software structure, lack clarity Implementation invokes a process flow Lack of structure : no inheritance, no reuse, no polymorphism Long methods process oriented with no parameters and low cohesion Procedural names of classes and methods Negligible degree of interaction between objects Use of global variables for processing

Spaghetti Code
Causes and Consequences
Typical Causes
Inexperience with Object-Oriented design technologies Ineffective code reviews No initial software design

Consequences
Code reuse is difficult Follow-on maintenance efforts contribute to the problem Software reaches point of diminishing returns: the effort involved to maintain existing code exceeds the cost of developing a new ground up solution

public boolean startElement(int, XMLAttrList) throws Exception { if (!fValidating && !fNamespacesEnabled) { return false; } if (contentSpecType == -1 && fValidating) { ... } if (... && elementIndex != -1) { ... } if (DEBUG_PRINT_ATTRIBUTES) { ... } if (fNamespacesEnabled) { fNamespacesScope.increaseDepth(); if (attrIndex != -1) { int index = attrList.getFirstAttr(attrIndex); while (index != -1) { ... if (fStringPool.equalNames(...)) { ... } else {...} } index = attrList.getNextAttr(index); } } int prefix = fStringPool.getPrefixForQName(elementType); int elementURI;

if (prefix == -1) { ... if (elementURI != -1) { No Objects fStringPool.setURIForQName(...); Process Flow } Conditionals } else { Complexity ... Cannot be if (elementURI == -1) { ... reused } fStringPool.setURIForQName(.elementURI); } if (attrIndex != -1) { int index = attrList.getFirstAttr(attrIndex); while (index != -1) { int attName = attrList.getAttrName(index); if (!fStringPool.equalNames(...)) { ... if (attPrefix != fNamespacesPrefix) { if (attPrefix == -1) { ... } else { if (uri == -1) { } fStringPool.setURIForQName(attName, uri); if (fElementDepth >= 0) { fElementDepth++; if (fElementDepth == fElementTypeStack.length) { ... } }}} return contentSpecType == fCHILDRENSymbol; }

Spaghetti Code
Solution
The best way is to prevent spaghetti code by first thinking and then developing. To avoid:
Domain model even when it is well-understood OO Analysis OO Design Objects should be sufficiently refined

When adding new features, remove code defects Write accessor functions for member variables Refactor code into methods Remove obsolete code Rename classes, functions, data types to conform to industry standards

Functional Decomposition
One main routine that calls several other subroutines Invoked subroutines are implemented as classes Classes with single action such as a function Attributes are private and used only inside the class The resulting code resembles a structural language like C and is incredibly complex

Functional Decomposition
Causes and Consequences Typical Causes
No use of OO concepts like inheritance or polymorphism Lack of understanding of OO concepts Lack of architecture enforcement

Consequences
Difficult to reuse Expensive to maintain no way to clearly document (or explain) how the system works

6/24/2009

Functional Decomposition
Solution
Find the original Use Cases to ascertain features from user view point OO reengineering process Find matching OO design model Combine classes which assist each other Combine classes which try to achieve the same design objective Find similar subsystems (reuse of code)

Functional Decomposition
A customer loan scenario Adding a new customer Updating a customers address Calculating a loan to a customer Calculating the interest on a loan Calculating a payment schedule for a customer loan Altering a payment schedule

Functional Decomposition

OO Version

Cut-andCut-and-Paste Programming
Man, you guys work fast. Over 400,000 lines of code in just three weeks is outstanding progress.

Cut-andCut-and-Paste Programming
Causes and Consequences
Typical Causes
Reusable code is difficult to create and organizations prefer short term benefits Easier to modify existing code than writing from scratch Lack of abstraction in developers Lack of knowledge of tools and technologies, hence working examples are modified to create new components Lack of forward thinking

Cut-and-Paste Programming is a very common degenerate form of software reuse that causes maintenance nightmares. Less experienced programmers learn by changing code of experienced developers Presence of several similar segments of code Creates code duplication Positive short-term consequences such as boosting line count metrics

Consequences
Software defects and bugs are replicated Difficult to locate all instances of a bug Code reviews and inspections are needlessly extended Excessive software maintenance costs Duplication of testing, review, bug fixing efforts

6/24/2009

Cut-andCut-and-Paste Programming
Solution
Three step approach
Identify Code duplication Refactoring duplicates into libraries or components for black-box reuse Configuration management : code inspection, reviews and validation efforts in future to avoid Cut-and-Paste Programming

Swiss Army Knife


A Swiss Army knife is a brand of multi-function pocket knife or multi-tool. Excessively complex class interface Designer attempts to provide for all possible uses of the class. Large number of interface signatures No clear abstraction or focus of the class interface

Swiss Army Knife


Causes and Consequences Causes
No focused responsibility Class attempting to provide too much functionality

Swiss Army Knife


Solution Describe a profile for the class Profile documents the way to use a complex technology Profile for an interface describe the signatures and parameter values

Consequences
More != Better Confusion Maintenance problems Each interface requires implementation of items on that interface

Conclusions
AntiPatterns provide patterns that have negative consequences on software development effort Each AntiPattern includes a solution + solution pair AntiPattern Solution Generates mostly negative consequences Refactored Solution Generates mostly positive benefits AntiPatterns are useful for refactoring, migration, upgrade, and reengineering

Code Smells
If it stinks, change it Hint that something has gone wrong Opportunities for improving program design Code smells indicate the need for the application of a possible refactoring

6/24/2009

Code Smells - Examples


Duplicate Code
Duplication of bugs, tests, reviews Same (or nearly) code in multiple places Frequently the result of cut-and-paste coding

Code Smells More Examples


Long Parameter List
Programs harder to understand Difficult to reuse and change Parameter lists should be shorter in OO programs than in traditional programs

Long Method
OO puts premium on short methods Long procedures always harder to understand

Large Class
Class has poor cohesion Too many instance variables or methods means a class is doing too much Class interface does not provide consistent level of abstraction

Divergent Change
One class commonly changed in different ways for different reasons Some methods changed in one case Other methods changed in another

Code Smells More Examples


Feature Envy
Method seems more interested in a class other than the one it is in Most common focus is data (lots of getter calls)

Data Clumps
Same data items in multiple classes Parameter lists of several methods If after deleting one from clump the rest wouldnt make sense, a clear candidate for refactoring

ArgoUML !!!

ArgoUML Design Critics


Chapter 15. The Critics
Table of Contents 15.1. Introduction 15.1.1. Terminology 15.1.2. Design Issues 15.2. Uncategorized 15.3. Class Selection 15.3.1. Wrap DataType 15.3.2. Reduce Classes in namespace <namespace> 15.3.3. Clean Up Diagram 15.4. Naming 15.4.1. Resolve Association Name Conflict 15.4.2. Revise Attribute Names to Avoid Conflict 15.4.3. Change Names or Signatures in a model element 15.4.4. Duplicate End (Role) Names for an Association 15.4.5. Role name conflicts with member 15.4.6. Choose a Name (Classes and Interfaces) 15.4.7. Name conflict in a namespace 15.4.8. Choose a Unique Name for a model element (Classes and Interfaces) 15.4.9. Choose a Name (Attributes) 15.4.10. Choose a Name (Operations) 15.4.11. Choose a Name (States) 15.4.12. Choose a Unique Name for a (State related) model element 15.4.13. Revise Name to Avoid Confusion

15.4.14. Choose a Legal Name 15.4.15. Change a model element to a Non-Reserved Word 15.4.16. Choose a Better Operation Name 15.4.17. Choose a Better Attribute Name 15.4.18. Capitalize Class Name 15.4.19. Revise Package Name 15.5. Storage 15.5.1. Revise Attribute Names to Avoid Conflict 15.5.2. Add Instance Variables to a Class 15.5.3. Add a Constructor to a Class 15.5.4. Reduce Attributes on a Class 15.6. Planned Extensions 15.6.1. Operations in Interfaces must be public 15.6.2. Interfaces may only have operations 15.6.3. Remove Reference to Specific Subclass 15.7. State Machines 15.7.1. Reduce Transitions on <state> 15.7.2. Reduce States in machine <machine> 15.7.3. Add Transitions to <state> 15.7.4. Add Incoming Transitions to <model element> 15.7.5. Add Outgoing Transitions from <model element> 15.7.6. Remove Extra Initial States 15.7.7. Place an Initial State 15.7.8. Add Trigger or Guard to Transition 15.7.9. Change Join Transitions 15.7.10. Change Fork Transitions 15.7.11. Add Choice/Junction Transitions 15.7.12. Add Guard to Transition 15.7.13. Clean Up Diagram 15.7.14. Make Edge More Visible 15.7.15. Composite Association End with Multiplicity >1 15.8. Design Patterns

15.8.1. Consider using Singleton Pattern for <class> 15.8.2. Singleton Stereotype Violated in <class> 15.8.3. Nodes normally have no enclosers 15.8.4. NodeInstances normally have no enclosers 15.8.5. Components normally are inside nodes 15.8.6. ComponentInstances normally are inside nodes 15.8.7. Classes normally are inside components 15.8.8. Interfaces normally are inside components 15.8.9. Objects normally are inside components 15.8.10. LinkEnds have not the same locations 15.8.11. Set classifier (Deployment Diagram) 15.8.12. Missing return-actions 15.8.13. Missing call(send)-action 15.8.14. No Stimuli on these links 15.8.15. Set Classifier (Sequence Diagram) 15.8.16. Wrong position of these stimuli 15.9. Relationships 15.9.1. Circular Association 15.9.2. Make <association> Navigable 15.9.3. Remove Navigation from Interface via <association> 15.9.4. Add Associations to <model element> 15.9.5. Remove Reference to Specific Subclass 15.9.6. Reduce Associations on <model element> 15.9.7. Make Edge More Visible 15.10. Instantiation 15.11. Modularity 15.11.1. Classifier not in Namespace of its Association 15.11.2. Add Elements to Package <package> 15.12. Expected Usage 15.12.1. Clean Up Diagram 15.13. Methods 15.13.1. Change Names or Signatures in <model element>

15.13.2. Class Must be Abstract 15.13.3. Add Operations to <class> 15.13.4. Reduce Operations on <model element> 15.14. Code Generation 15.14.1. Change Multiple Inheritance to interfaces 15.15. Stereotypes 15.16. Inheritance 15.16.1. Revise Attribute Names to Avoid Conflict 15.16.2. Remove <class>'s Circular Inheritance 15.16.3. Class Must be Abstract 15.16.4. Remove final keyword or remove subclasses 15.16.5. Illegal Generalization 15.16.6. Remove Unneeded Realizes from <class> 15.16.7. Define Concrete (Sub)Class 15.16.8. Define Class to Implement <interface> 15.16.9. Change Multiple Inheritance to interfaces 15.16.10. Make Edge More Visible 15.17. Containment 15.17.1. Remove Circular Composition 15.17.2. Duplicate Parameter Name 15.17.3. Two Aggregate Ends (Roles) in Binary Association 15.17.4. Aggregate End (Role) in 3-way (or More) Association 15.17.5. Wrap DataType

Follow me on Facebook page Automated Testing https://www.facebook.com/AutomatedTesting

Search for people, places and things

Automated Testing Edit Page Build Audience Help Show

Home

Admin Panel

Ads Manager

See Your Ad Here Automated Testing

Automated Testing as Program Verification. Program Verification problem is decidable if P is finite-... Like Automated Testing likes this. Get More Likes

Automated Testing
10 likes 1 talking about this Computers/Internet Website Automated Testing as Program Verification. Program Verification problem is decidable if P is finite-state with model-checking techniques. But real programs are not finite-state, they have arbitrarily complex inputs and dynamic memory allocation About Photos Likes

Now February 2013 Launched

10

Highlights

Status

Photo / Video

Event, Milestone +

Recent Posts by Others on Automated Testing Zarko Acimovic http://www.verifysoft.com/en.html Wednesday at 2:24pm Zarko Acimovic http://hermit-reasoner.com/ February 15 at 11:26am More Posts

See All

What's on your mind?

Automated Testing shared a link. 9 minutes ago

http://www-dse.doc.ic.ac.uk/cgi-bin/moin.cgi/sue
sue - DSE Imperial College www-dse.doc.ic.ac.uk Distributed Software Engineering Section Department of Computing Imperial College London Huxley Building Room 568 180 Queen's Gate, London SW7 2AZ, UKDirections to the DepartmentStreetmap link Phone: +44 20 7594 8264 Fax: +44 20 7581 8024

Likes Erlang Programming Community Alonso Church Public Figure Objective Caml Interest Implementing Automated Software Testing Book Haskell Interest

See All

Like Comment Share

Automated Testing shared a link. 40 minutes ago

http://sourceforge.net/projects/czt/
Community Z Tools sourceforge.net Tool support for the Z formal notation

Like Comment Share

Automated Testing shared a link. about an hour ago

Automated Testing shared a link. about an hour ago

http://www.doc.ic.ac.uk/~ar3/lectures/ProgrammingII/NewCours eStructure.html
Alessandra Russo's Software Engineering Course www.doc.ic.ac.uk These lecture notes are designed for the second part of the course Object Oriented Programming given to first year undergraduate students at Imperial College. The first half of this course is taught by Alastair

http://www.doc.ic.ac.uk/~jnm/book/index.html

Donaldson. His lecture notes are electronically available on CATE. The second part of thi... Like Comment Share

Like Comment Share Concurrency - State Models & Java Programs www.doc.ic.ac.uk

Automated Testing shared a link. 16 hours ago

http://www.cs.ru.nl/ftfjp/
Formal Techniques for Java-like Programs (FTfJP) www.cs.ru.nl Starting 2002 the name of the workshop has been slightly changed from "Formal Techniques for Java Programs" to "Formal Techniques for Java-like Programs" - to include not just work on Java, but also work on related languages such as C# or Scala.

Automated Testing 16 hours ago

http://www.cs.ru.nl/ftfjp/
Like Comment Share

Like Comment Share Automated Testing shared a link. 16 hours ago

http://www.uppaal.com/index.php?sida=186&rubrik=93
UP4ALL Inc - uppaal.com www.uppaal.com UPPAAL is an integrated tool environment for modeling, simulation and, verification of real-time embedded systems. Typical application areas of UPPAAL includes real-time controllers and communication protocols in particular, those where timing aspects are critical.

Automated Testing 16 hours ago

http://csd.informatik.uni-oldenburg.de/~moby/
Like Comment Share

Like Comment Share

Automated Testing shared a link. Thursday

Automated Testing shared a link. Wednesday

http://www.informatik.unibremen.de/agbkb/forschung/formal_methods/index_e.htm
Research Area "Formal Methods for Software Development" www.informatik.uni-bremen.de The main focus of research in formal methods at our group is algebraic specification, based on the CASL language, and development of effective tool support for all aspects of formal development.

http://www.springer.com/computer/swe/book/978-0-85729-2766
Specification of Software Systems www.springer.com Recent advances in software specification methods, model checking, and theorem proving have generated new tools for the use of formal methods in both industry and academia. Yet, in order to choose the techniques most appropriate ... Like Comment Share

Like Comment Share

Automated Testing shared a link. March 5

http://www.locmetrics.com/index.html
Automated Testing shared a link. March 5 http://www.locmetrics.com/index.html www.locmetrics.com

http://www.locmetrics.com/alternatives.html
LOC Metrics - Alternative Tools www.locmetrics.com LocMetrics is a simple tool for counting lines of code in C#, Java, and C++.

Like Comment Share

Automated Testing shared a link. March 1

Like Comment Share

http://www.flowgate.net/?lang=es&seccion=herramientas
[Flowgate Consulting] Servicios de consultoria en TI www.flowgate.net

Automated Testing shared a link. February 28

http://www.lispworks.com/
LispWorks www.lispworks.com New features in LispWorks 6.1 include environment access, high-quality drawing including anti-aliasing, exporting various image formats, extensions to symmetric multiprocessing and a 64-bit FreeBSD port. Like Comment Share Like Comment Share

Automated Testing shared a link. February 28

http://weitz.de/

Automated Testing shared a link. February 28

Edi Weitz weitz.de Software, books, photos, and more

http://www.cliki.net/
CLiki: index www.cliki.net CLiki is a Common Lisp wiki. It contains resources for learning about and using the programming language Common Lisp, and information about DFSG-compliant free software implemented in Common Lisp.

Like Comment Share

Automated Testing shared a link. February 28

http://cs.gmu.edu/~sean/book/metaheuristics/
Like Comment Share Essentials of Metaheuristics cs.gmu.edu Automated Testing shared a link. February 28 Please always include the URLit's the only unique identifier to the text! Note the lack of edition number: I expect these to change very rapidly, and Google Scholar and Citeseer both have trouble with fastchanging editions. If you prefer BibTeX: @Book{ Luke2009Metaheuristics, author = { Sean Luke ... Like Comment Share

http://www.franz.com/
About Franz Inc. www.franz.com Franz is a leading vendor of Semantic Web Technology featuring the AllegroGraph RDF Store triple store database, and dynamic object-oriented Common Lisp development tools including Allegro Common Lisp with AllegroCache, an Object Database that provides Object Persistence in Lisp, native to the langa... Like Comment Share

Automated Testing shared a link. February 28

http://cs.gmu.edu/~sean/lisp/
Lisp at GMU cs.gmu.edu

Automated Testing shared a link. February 28

http://letoverlambda.com/index.cl
Let Over Lambda letoverlambda.com Let Over Lambda (ISBN 978-1-4357-1275-1, 376+iv pp.) is one of the most hardcore computer programming books out there. Starting with the fundamentals, it describes the most advanced features of the most advanced language: COMMON LISP. The point of this book is to expose you to ideas that you might o... Like Comment Share

Lisp runs fine on mason.gmu.edu (type lisp). But only use Lisp on Mason to verify your code, not for development. Instead, do development on your own machine -- it's much less painful. However, in Prof. Luke's classes, your Lisp homework and projects must compile and run properly on Mason for them t... Like Comment Share

Automated Testing shared a link. February 27

http://cs.brown.edu/~jes/book/
Models of Computation: Exploring the Power of Computing cs.brown.edu

Automated Testing shared a link. February 27

http://cs.brown.edu/~jes/book/pdfs/ModelsOfComputation_Chapt er4.pdf
http://cs.brown.edu/~jes/book/pdfs/ModelsOfComputation_C hapter4.pdf cs.brown.edu

In Models of Computation:Exploring the Power of Computing, John Savage re-examines theoretical computer science, offering a fresh approach that gives priority to resource tradeoffs and complexity classifications over the structure of machines and their relationships to languages. This viewpoint refl... Like Comment Share

Automated Testing shared a link. February 27

Like Comment Share

Automated Testing shared a link. February 27

http://www.google.rs/search? q=%22%22&oq=%22%22&sourceid=chrome&client=ubuntu&ch annel=cs&ie=UTF8#client=ubuntu&hs=OiJ&channel=cs&sclient=psyab&q=Program+verification+is+decidable+if+P+is+finitestae&oq=Program+verification+is+decidable+if+...See More


"" - Google www.google.rs

http://research.microsoft.com/en-us/projects/chess/
CHESS - Microsoft Research research.microsoft.com A concurrency testing tool for finding and reproducing Heisenbugs. CHESS repeatedly runs a concurrent test ensuring that every run takes a different interleaving. If an interleaving results in an error, CHESS can reproduce the interleaving for improved debugging. Like Comment Share Automated Testing February 27

Like Comment Share

http://research.microsoft.com/en-us/projects/chess/
Automated Testing shared a link. February 25 Like Comment Share

http://www.cambridge.org/gb/knowledge/isbn/item1112106/? site_locale=en_GB
Logic in Computer Science www.cambridge.org Recent years have seen the development of powerful tools for verifying hardware and software systems, as companies worldwide realise the need for improved means of validating their products. There is increasing demand for training in basic methods in formal reasoning so that students can gain profic... Like Comment Share

Earlier in February

Zarko Acimovic shared a link. February 15

Automated Testing February 14

http://hermit-reasoner.com/
HermiT Reasoner: Home hermit-reasoner.com HermiT is reasoner for ontologies written using the Web Ontology Language (OWL). Given an OWL file, HermiT can determine whether or not the ontology is consistent, identify subsumption relationships between classes, and much more.

John Hughes. Why functional programming matters - Google search


Like Comment Share

Automated Testing shared a link. February 14

Like Comment Share

http://www.amazon.com/Purely-Functional-Structures-ChrisOkasaki/dp/0521663504
Purely Functional Data Structures www.amazon.com Most books on data structures assume an imperative language such as C or C++. However, data structures for these languages do not always translate well to functional languages such as Standard ML, Haskell, or Scheme. This book describes data structures from the point of view of functional languag... Like Comment Share

Automated Testing shared a link. February 14

http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf "Purely Functional Data Structures"


http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf www.cs.cmu.edu

Like Comment Share

Automated Testing shared a link. February 14

Automated Testing shared a link. February 14

http://okasaki.blogspot.com/
Teaching, Playing, and Programming okasaki.blogspot.com I think youll enjoy this game, Thunderstone. Ive been playing it a lot with my son. Like Race for the Galaxy, this one works very well with two players, but can also handle more players. (Predictably, with more players, it becomes very chaotic, especially when thieves are in play) Im so certain Like Comment Share

http://www.sonarsource.com/
SonarSource - Continuous Inspection of Code Quality www.sonarsource.com SonarSource provides applications and services for continuous inspection of code quality. Its open source Sonar platform and commercial products help customers to perform development and long-term maintenance of software at a lower cost and with reduced risk.

Like Comment Share

Automated Testing shared a link. February 12

Automated Testing shared a link. February 11

scg.unibe.ch/archive/famoos/handbook/4handbook.pdf The FAMOOS Object-Oriented Reengineering Handbook


http://scg.unibe.ch/archive/famoos/handbook/4handbook.pdf scg.unibe.ch

http://xray.inf.usi.ch/xray.php Software is inherently intangible. Systems can be composed of a huge amount of software entities linked together by different

kinds of dependencies. Software designers use visualization tools in order to rai...See More
Jacopo Malnati, X-Ray 1.0.4.1 xray.inf.usi.ch Website of Jacopo Malnati

Like Comment Share

Automated Testing shared a link. February 11

Like Comment Share

http://jhave.org/ JHAV is a java application that renders algorithm visualizations. Students explore algorithms by viewing visual representations of data, controlling movement and by responding to pop-up questions. We provide a large colle...See More
JHAVE: Home Page jhave.org JHAVE

Automated Testing shared a link. February 10

http://www.arisa.se/index.php Goal of ARiSA - Applied Research in System Analysis - is to leverage quality management on software and information systems engineering. We provide seminars, methods, and development tools supporting the effi...See More
ARiSA AB www.arisa.se Mlet fr ARiSA r att utnyttja kvalitetshantering av framtagning mjukvaru- och informationssystem. Vi tillhandahller seminarier, metoder och utvecklingsverktyg som stdjer effektiv produktion och underhll av hgkvalitativ mjukvara.

Like Comment Share

Automated Testing shared a link. February 10

http://www.arisa.se/compendium/quality-metricscompendium.html
Compendium of Software Quality Standards and Metrics Version 1.0 www.arisa.se Compendium of Software Quality Standards and Metrics - Version 1.0

Like Comment Share

Automated Testing shared a link. February 4

Like Comment Share

http://research.microsoft.com/en-us/projects/specsharp/
Spec# - Microsoft Research research.microsoft.com Spec# is a formal language for API contracts (influenced by AsmL, JML and Eiffel), which extends C# with constructs for non-null types, preconditions, postconditions, object invariants, and model programs (behavioral contracts that take the history of the entire run into account). Spec# comes with a... Like Comment Share

Automated Testing shared a link. February 4

http://types.cs.washington.edu/jsr308/
Type Annotations (JSR 308) and the Checker Framework types.cs.washington.edu The Java 6 annotation syntax is useful but limited. The Type Annotations syntax permits annotations to be written in more places, such as generic type arguments: List<@NonNull Object>. Programmers can use type annotations to write more informative types, and then tools such as type-checkers can det Like Comment Share

Automated Testing shared a link. February 4

http://groups.csail.mit.edu/pag/daikon/
The Daikon dynamic invariant detector groups.csail.mit.edu Daikon is an implementation of dynamic detection of likely invariants; that is, the Daikon invariant detector reports likely program invariants. An invariant is a property that holds at a certain point or points in a program; these are often seen in assert statements, documentation, and formal speci... Like Comment Share

Automated Testing shared a link. February 4

http://homes.cs.washington.edu/~mernst/software/
Software released by Michael Ernst homes.cs.washington.edu This is a partial list of software packages released by Michael Ernst. I am always happy to receive comments, bug reports and fixes, and improvements to the code. I will attempt to assist you with problems or incorporate your changes into the main source. Unless otherwise noted, all software should Like Comment Share

Automated Testing shared a link. February 3

http://se.inf.ethz.ch/courses/2012b_fall/sv/
Software Verification - Fall 2012 - Chair of Software Engineering se.inf.ethz.ch 05.12.2012 Please remember to bring questions/problems along for the exercise session of next week! The exam is approaching fast now...

Automated Testing shared a link. February 3

http://ix.cs.uoregon.edu/~michal/

Like Comment Share

Automated Testing shared a link. February 3

Like Comment Share

The Program Verification problem is decidable if P is finite-state with model-checking techniques. But real programs are not finite-state arbitrarily complex inputs dynamic memory allocation The term Software Model-Checking denotes techniques to automatically verify real programs based on finite-state models of them.
Index of /courses/2012b_fall/sv/slides se.inf.ethz.ch

Michal Young ix.cs.uoregon.edu The thread that runs through my work is understanding how we understand and gain confidence in software, through some combination Automated Testing shared a link. of analysis (broadly construed to include testing as well as various static February 2 checking techniques) and design. I'm increasingly interested in interplay between synthesis (g...

http://www.scribd.com/doc/65043293/Introduction-to-ComputerTheory
http://www.scribd.com/doc/65043293/Introduction-toComputer-Theory www.scribd.com

Like Comment Share

Like Comment Share

Automated Testing shared a link. February 1

Automated Testing shared a link. February 1

http://www.ncl.ac.uk/computing/research/?pid=260
Research home - Computing Science - Newcastle University www.ncl.ac.uk We carry out fundamental computing science research which we evaluate and extend through application to industrial and interdisciplinary challenges. Our work constantly evolves to address the new challenges posed by a fast-changing environment: one in which computer systems become ever more complex,... Like Comment Share

http://www.wou.edu/~broegb/
Index Winter 2013 www.wou.edu

Like Comment Share

Automated Testing shared a link. February 1

Automated Testing shared a link. February 1

http://rodin.cs.ncl.ac.uk/
RODIN - Rigorous Open Development Environment for Complex Systems rodin.cs.ncl.ac.uk Our overall objective is the creation of a methodology and supporting open tool platform for the cost effective rigorous development of dependable complex software systems and services. We focus on tackling complexity caused by the environment in which t...

http://www.ai4fm.org/
Overview - AI4FM www.ai4fm.org AI4FM project aims to use "learning" techniques from artificial intelligence to record and abstract how experts do proofs in order to increase the proportion of cases where proofs are constructed without (or with minimal) human intervention. AI4FM is an EPSRCfunded research project, a joint effort

Like Comment Share

Like Comment Share

Automated Testing shared a link. February 1

http://homepages.cs.ncl.ac.uk/cliff.jones/
http://homepages.cs.ncl.ac.uk/cliff.jones/ homepages.cs.ncl.ac.uk Much of his research at this time focused on formal (compositional) development methods for concurrent systems. His major avenues of current research are listed below.

Like Comment Share

Earlier in 2013

Automated Testing shared a link. January 31

Likes
2013

https://www.scss.tcd.ie/Matthew.Hennessy/teaching/2013/slexter nal2013/reading.php
Semantics of programming languages - 2012/13 Reading list - Computer Science - Trinity College Dubl www.scss.tcd.ie Trinity College Dublin: Computer Science Department: Semantics of programming languages - 2012/13 Reading list Like Comment Share

+3
Alonso Church Objective Caml F Sharp

Automated Testing shared a link. January 30

http://elib.mi.sanu.ac.rs/files/journals/mv/202/mv943409.pdf
http://elib.mi.sanu.ac.rs/files/journals/mv/202/mv943409.pdf elib.mi.sanu.ac.rs

Automated Testing January 29

http://se.inf.ethz.ch/old/projects/tobias_widmer/
Like Comment Share

Like Comment Share

Automated Testing shared a link. January 28 Automated Testing shared a link. January 28

http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-737.pdf
http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-737.pdf www.cl.cam.ac.uk

http://bertrandmeyer.com/2012/04/11/domain-theory-theforgotten-step-in-program-verification/
Bertrand Meyer's technology+ blog Blog Archive Domain Theory: the forgotten step in program v bertrandmeyer.com Program verification is making considerable progress but is hampered by a lack of abstraction in specifications. A crucial step is, almost always, absent from the process; this omission is the principal obstacle to making verification a standard component of everyday software development.

Like Comment Share

Automated Testing shared a link. January 28

Like Comment Share

http://ebooks.cambridge.org/chapter.jsf? bid=CBO9780511569883&cid=CBO9780511569883A012
Cambridge Books Online - The Statement of the Incompleteness Theorem ebooks.cambridge.org The automatic verification of large parts of mathematics has been an aim of many mathematicians from Leibniz to Hilbert. While Gdel's first incompleteness theorem showed that no computer program could automatically prove certain true Like Comment Share theorems in mathematics, the advent of electronic computers and s...

Automated Testing shared a link. January 28

http://www.amzi.com/
Amzi! inc. Embeddable Extendable Prolog, Logic Server, Knowledge Engineering, Rule Engines, Artifici www.amzi.com Amzi! inc. provides software and services for embedding intelligent components that apply busines rules, diagnose problems, recommend configurations, give advice, schedule events, monitor processes and more. Like Comment Share

Automated Testing shared a link. January 28

http://www.computational-semantics.eu/
Automated Testing shared a link. January 28 Computational Semantics with Functional Programming www.computational-semantics.eu ESSLLI Summer School Course, Ljubljana, Slovenia, August 2011. See the course description on the ESSLLI 2011 homepage.

http://homepages.cwi.nl/~jve/problem5/
Challenging Imperative Programming with Algebra, Logic and Functions homepages.cwi.nl ``How much land does a man need?'' asked Lev Tolstoi, and the answer turned out to be: surprisingly little. ``How many programming languages does a software designer need?'' The answer seems to be: surprisingly many. See below. Like Comment Share

Like Comment Share

Automated Testing shared a link. January 28

http://answers.yahoo.com/question/index?qid=1006030700479
Automated Testing shared a link. January 28

http://en.wikipedia.org/wiki/Lambda_calculus

Lambda calculus - Wikipedia, the free encyclopedia en.wikipedia.org Lambda calculus (also written as -calculus or called "the lambda calculus") is a formal system in mathematical logic and computer science for expressing computation by way of variable binding and substitution. First formulated by Alonzo Church, lambda calculus found early successes Like Comment in the area of c... Share

Like Comment Share

What is the difference between logic programming and imperative programming.? answers.yahoo.com Logic programming Testing shared a link. Automated (sometimes called logical programming) is programming that makes use of pattern-directed invocation of January 28 procedures from assertions and goals. John McCarthy [1958] was the first to pub

Automated Testing shared a link. January 28

http://racket-lang.org/ http://users.soe.ucsc.edu/~cormac/
Cormac Flanagan Homepage users.soe.ucsc.edu

The Racket Language racket-lang.org Racket is a modern programming language in the Lisp/Scheme family, suitable for a wide range of applications. Racket provides a rich language extension API, the DrRacket integrated development environment, and many batteries-included libraries.

Like Comment Share Like Comment Share

Automated Testing shared a link. January 28

Automated Testing shared a link. January 28

http://link.springer.com/book/10.1007/978-1-84628-692-6/page/1 http://classes.soe.ucsc.edu/cmps112/Winter07/
CMPS 112 - Comparative Programming Languages - Winter 2007 classes.soe.ucsc.edu Lectures: Tu/Th, 10:00-11:45am, Engineering 2, room 194Lab Sessions: Mondays 1:00-3:00pm and Thursdays 5:00-6:00pm, both in Baskin 105 Semantics with Applications: An Appetizer Springer link.springer.com

Like Comment Share

Like Comment Share

Automated Testing shared a link. January 28

Automated Testing shared a link. January 28

http://cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-0426/
Programming Languages: Application and Interpretation by Shriram Krishnamurthi cs.brown.edu Programming Languages: Application and Interpretation Copyright 2003-07, Shriram Krishnamurthi Creative Commons AttributionNonCommercial-ShareAlike 3.0 United States License Version 2007-04-26 Like Comment Share

http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme.html
Teach Yourself Scheme in Fixnum Days www.ccs.neu.edu A practical introduction to the programming language Scheme

Like Comment Share

Automated Testing shared a link. January 26

Automated Testing shared a link. January 26

http://mitpress.mit.edu/books/model-checking http://d3s.mff.cuni.cz/teaching/program_analysis_verification/
Teaching @ D3S - Department of Distributed and Dependable Systems d3s.mff.cuni.cz Official web page of the Department of Distributed and Dependable Systems, Charles University, Prague Like Comment Share Automated Testing shared a link. January 26 Model Checking | The MIT Press mitpress.mit.edu Model checking is a technique for verifying finite state concurrent systems such as sequential circuit designs and communication protocols. It has a number of advantages over traditional approaches that are based on simulation, testing, and deductive reasoning. In particular, model checking is autom... Like Comment Share

Automated Testing shared a link. January 26

http://www.pearsonhighered.com/educator/product/Concepts-ofProgramming-Languages-10E/9780131395312.page

http://eu.wiley.com/WileyCDA/WileyTitle/productCd0471137723,descCd-tableOfContents.html

Pearson - Concepts of Programming Languages, 10/E - Robert W. Sebesta www.pearsonhighered.com The account you used to log in on the previous website does not contain IRC access. If you have a separate IRC count, please log in using that login name and password. If you do not have an IRC account, you canrequest access here Like Comment Share

Wiley: Introduction to Computer Theory, 2nd Edition - Daniel I. Like Comment Share A. Cohen eu.wiley.com Automated Testing shared a link. January 25

Automated Testing shared a link. January 25

http://www.bon-method.com/index_normal.htm
BON method: index normal www.bon-method.com

http://www.bon-method.com/computer_annotated.pdf
http://www.bon-method.com/computer_annotated.pdf www.bon-method.com

Like Comment Share Like Comment Share

Automated Testing shared a link. January 24

Automated Testing shared a link. January 24

http://www.akber.com/software-testing
Software Testing - Akber Choudhry www.akber.com Akber A. Choudhry

http://www.cs.columbia.edu/~zeph/
Zeph Grunschlag www.cs.columbia.edu

Like Comment Share Like Comment Share Automated Testing shared a link. January 24

Automated Testing January 24

http://yosefk.com/c++fqa/defective.html
C++ FQA Lite: Defective C++ yosefk.com This page summarizes the major defects of the C++ programming language (listing all minor quirks would take eternity). To be fair, some of the itemsby themselvescould be design choices, not bugs. For example, a programming language doesn't have to provide garbage collection. It's thecombinationof th... Like Comment Share

http://www.cs.virginia.edu/~evans/cs3102-s10/
Like Comment Share

Automated Testing shared a link. January 24

http://math.andrej.com/2008/02/06/representations-ofuncomputable-and-uncountable-sets/
Representations of uncomputable and uncountable sets Mathematics and Computation math.andrej.com Occasionally I hear claims that uncountable and uncomputable sets cannot be represented on computers. More generally, there are all sorts of misguided opinions about representations of data on computers, especially infinite data of mathematical nature. Here is a quick tutorial on the matter whose ma... Like Comment Share

Automated Testing shared a link. January 24

http://lukepalmer.wordpress.com/2012/01/26/computablyuncountable/
Computably Uncountable lukepalmer.wordpress.com We are all familiar with Cantors diagonal argument that proves there exist infinite sets which are larger than the set of natural numbers. In this post I will show that we can ...

Automated Testing January 23

Like Comment Share

http://pdf.aminer.org/000/208/844/ on_transferring_vdm_verification_techniques_to_z.pdf
Like Comment Share

Automated Testing shared a link. January 23

http://itee.uq.edu.au/~ianh/Papers/ndb.pdf
Automated Testing January 23 http://itee.uq.edu.au/~ianh/Papers/ndb.pdf itee.uq.edu.au

What's wrong with UML as a modelling language for design patterns? Giving a full answer to this question would require not one page

Like Comment Share

but an entire encyclopaedia. We are not in the business of writing the seven volumes of What's Wrong with UML; others have already done so successfully (see Bertrand's Meyer's excellent UMLThe Positive Spin.) Rather, let us describe what mechanisms of LePUS3 and Cla...See More
Like Comment Share 1

Automated Testing shared a link. January 23

http://www.lepus.org.uk/ref/companion/faq.xml
FAQ, The 'Gang of Four' Companion www.lepus.org.uk This page is part of the The 'Gang of Four' Companion which details the formal specification of the Abstract Factory design pattern from the 'Gang of Four' catalogue [Gamma et al 1995].

Automated Testing shared a link. January 23

http://www.lepus.org.uk/
LePUS3 and Class-Z Home Page www.lepus.org.uk Visual representations of evidence should be governed by principles of reasoning: Clear and precise seeing becomes as one with clear and precise thinking. -Edward R. Tufte

Like Comment Share

Automated Testing shared a link. January 23

http://www.lepus.org.uk/about.xml
About LePUS3 and Class-Z www.lepus.org.uk LePUS3 and Class-Z are formal objectoriented Design Description Languages. They are formal specification lanaguges for modelling non-functional specifications representing the design of object-oriented class libraries, design patterns, and object-oriented application frameworks (What can be modelle...

Like Comment Share

Automated Testing shared a link. January 23

http://ocw.mit.edu/courses/electrical-engineering-and-computerscience/6-080-great-ideas-in-theoretical-computer-sciencespring-2008/lecture-notes/
Great Ideas in Theoretical Computer Science ocw.mit.edu This course provides a challenging introduction to some of the central ideas of theoretical computer science. It attempts to present a vision of "computer science beyond computers": that is, CS as a set of mathematical tools for understanding complex systems such as universes and minds. Beginning i...

Like Comment Share

Automated Testing shared a link. January 23

http://www.di.ens.fr/~cousot/AI/IntroAbsInt.html
Abstract Interpretation in a Nutshell www.di.ens.fr This introduction to static analysis by abstract interpretation has the objective of being simple, intuitive and informal. More technical introductions as well as bibliographic references are provided in [1,2,3].A 30mnvideo(in French) can also be useful.

Like Comment Share

Like Comment Share

Automated Testing shared a link. January 22

Automated Testing shared a link. January 23

http://www.cengage.com/search/productOverview.do? Ntt=991938321204392568016032450701059771599&N=4294956 584&Ntk=P_EPI


Computer Science - Introduction to the Theory of Computation ,3rdEdition -97811331 www.cengage.com Cengage Learning delivers highly-customized learning solutions for universities, instructors, students, libraries, government agencies, corporations, and professionals worldwide.

http://web.mit.edu/afs/athena.mit.edu/course/16/16.399/www/
MIT Course 16.399: Abstract Interpretation Home Page web.mit.edu Course Objective and Themes: Abstract Interpretation is a theory of approximation of mathematical structures, in particular those involved in the semantic models of computer systems. Abstract interpretation can be applied to the systematic construction of methods and effective algorithms to app... Like Comment Share

Like Comment Share Automated Testing shared a link. January 22 Automated Testing shared a link. January 22

http://www.cs.rpi.edu//~moorthy/Courses/CSCI2400/
http://www.cs.rpi.edu//~moorthy/Courses/CSCI2400/ www.cs.rpi.edu

http://alleystoughton.us/forlan/book.pdf
http://alleystoughton.us/forlan/book.pdf alleystoughton.us

Like Comment Share Like Comment Share Automated Testing January 21 Automated Testing shared a link. January 21

google search: formula model predicate calculus

http://www.math.ryerson.ca/~ddelic/mth714/Ch2handout.pdf
http://www.math.ryerson.ca/~ddelic/mth714/Ch2handout.pd f www.math.ryerson.ca

Like Comment Share

Automated Testing January 21

Like Comment Share

Automated Testing shared a link. January 21

Naime, problem provere da li dati skup formula predikatskog racuna prvog reda ima model je neodluciv, pa cak i ako je specifikacija korektna, nije jasno da li ce program dati rezultat u konacnom vremenu.
Like Comment Share

http://www.math.ryerson.ca/~ddelic/mth714/Ch2handout.pdf
http://www.math.ryerson.ca/~ddelic/mth714/Ch2handout.pd f www.math.ryerson.ca Automated Testing January 21

Undecidable problems
Like Comment Share

Automated Testing shared a link. January 21

Some questions that are undecidable for wider classes of grammars become decidable for context-free grammars; e.g. the emptiness problem (whether the grammar generates any terminal strings at all), is undecidable for context-sensitive grammars, but decidable for context-free grammars. Still, many problems remain undecidable. Examples: [edit] Universality Given a CFG, d...See More
Like Comment Share

http://www.math.ryerson.ca/~ddelic/mth714/mth714.html
Teaching information www.math.ryerson.ca Instructor: Dr Dejan Delic Office: ENG 228Phone: 979-5000 ext 6971 Email:ddelic@ryerson.caOffice hours:Tue 11-12, Wed 3-4, or by appointment

Like Comment Share

Automated Testing shared a link. January 20

Automated Testing shared a link. January 20

http://www.cs.cornell.edu/~kozen/
Dexter Kozen's Home Page www.cs.cornell.edu Research interests: Algorithms and complexity, especially complexity of decision problems in logic and algebra, logics and semantics of programming languages, computer security. Like Comment Share

http://www.amazon.com/Introduction-Theory-ComputationMichael-Sipser/dp/113318779X/ref=sr_1_1? s=books&ie=UTF8&qid=1358692543&sr=1-1
Introduction to the Theory of Computation www.amazon.com Gain a clear understanding of even the most complex, highly theoretical computational theory topics in the approachable presentation found only in the marketleading INTRODUCTION TO THE THEORY OF COMPUTATION, 3E. The number one choice for today's computational theory course, this revision continu... Like Comment Share

Automated Testing shared a link. January 18

http://www.itvestak.org.rs/kadrovi/027.html
Automated Testing shared a link. January 18 IT Vetak www.itvestak.org.rs nalazim se u porodinoj penziji. Odluila sam se na ovaj korak zbog nemogunosti da dalje delujem profesionalno i savesno u situaciji kakva je bila u organima Savezne vlade u to vreme ali i iz porodnnih razloga: iznenadna smrt supruga, nepokretna majka.

http://lara.epfl.ch/~kuncak/papers/vkuncak.html
Viktor Kuncak: Publications and manuscripts lara.epfl.ch

Like Comment Share Like Comment Share Automated Testing shared a link. January 18 Automated Testing shared a link. January 18

http://gigamonkeys.com/book/introduction-why-lisp.html
Introduction: Why Lisp? gigamonkeys.com If you think the greatest pleasure in programming comes from getting a lot done with code that simply and clearly expresses your intention, then programming in Common Lisp is likely to be about the most fun you can

http://www.verifun.org/
http://www.verifun.org/ www.verifun.org

Like Comment Share

have with a computer. You'll get more done, faster, using it than you would using pre... Like Comment Share

Automated Testing shared a link. January 18

http://gigamonkeys.com/book/
Practical Common Lisp gigamonkeys.com This page, and the pages it links to, contain text of the Common Lisp bookPractical Common Lisppublished byApressThese pages now contain the final text as it appears in the book. If you find errors in these pages, please send email tobook@gigamonkeys.com. Th... Like Comment Share

Automated Testing shared a link. January 18

http://www.forum.hr/showthread.php?t=499563
LISP - Forum.hr www.forum.hr LISP Programiranje

Like Comment Share Automated Testing shared a link. January 18

http://www.norvig.com/java-lisp.html
Lisp as an Alternative to Java www.norvig.com It turns out my hopes were answered. First, Prechelt publishedanother articlethat covers Tcl, Python, Perl, and Rexx. Also,Ron Garret (nee Erann Gat)did afollow-up studyin which he asked programmers to write Prechelt'stest programin Lisp. His results show that the resulting Lisp programs ran faster ... Like Comment Share

Automated Testing shared a link. January 18

An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a search/string-processing program http://page.mi.fuberlin.de/prechelt/Biblio/jccpprtTR.pdf
http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprtTR.pdf page.mi.fu-berlin.de

Like Comment Share

Automated Testing shared a link. January 18

Automated Testing shared a link. January 17

http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprtTR.pdf
http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprtTR.pdf page.mi.fu-berlin.de

http://www.coned.de/de/home/
ConEd: HOME www.coned.de Der Conceptual Engineering Editor, kurz ConED ist Ihr mageschneidertes Werkzeug fr die Leistungsphasen 2 und 3, um Tragkonzepte zu erstellen. Entstanden aus den Anforderungen der Praxis. Durch Ingenieure tagtglich erprobt und konsequent verbessert an konkreten Projekten. Mit durchdachten Funktion... Like Comment Share

Like Comment Share

Automated Testing shared a link. January 17

http://franklinchen.com/blog/2011/10/25/rip-john-mccarthy-butlisp-will-never-die/
RIP, John McCarthy; but Lisp will never die - Franklin Chen's grain of sand franklinchen.com RIP, John McCarthy; but Lisp Will Never Die Oct 25th, 2011 Permalink(Updated 2012-01-16)The legendary computer scientist John McCarthy died yesterday. So there goes another guy without whom my life today would be unimaginably different: Steve Jobs and Dennis Ritchie just left us this month!In a wa... Like Comment Share

Automated Testing January 17

Most papers in computer science describe how their author learned what someone else already knew. - Peter Landin (This is a paraphrase. I'd appreciate it if anyone can tell me the exact quote.)
Like Comment Share 1

Automated Testing shared a link. January 17

Automated Testing shared a link. January 17

http://www.paulgraham.com/quotes.html http://www.trollope.org/scheme.html
Lisp Quotes www.paulgraham.com A Scheme Story www.trollope.org My first classin computer programming was an elective course in BASIC back in sixth grade. I chose that class because I thought that computers were powerful and capable of doing many interesting things. Electives usually have a reputation for being fun, but my classmates and I heard stories about th... Like Comment Share

Like Comment Share

Automated Testing shared a link. January 17

http://kuomarc.wordpress.com/2012/01/27/why-i-love-commonlisp-and-hate-java/
Why I love Common Lisp and hate Java kuomarc.wordpress.com Common what? is a common reply I get when I mention Common Lisp. Perhaps rightly so, since Common Lisp is not all that common these days. Developed in the sixties, it is one of the ol... Automated Testing shared a link. January 17

http://www.paulgraham.com/avg.html
Beating the Averages www.paulgraham.com April 2001, rev. April 2003(This article is derived from a talk given at the 2001 Franz Developer Symposium.) In the summer of 1995, my friend Robert Morris and I started a startup called Viaweb. Our plan was to write software that would let end users build online stores. What was novel about this s... Like Comment Share

Like Comment Share

Automated Testing shared a link. January 15

http://speely.wordpress.com/2011/10/26/prefix-postfix-newfixbluefix/
Prefix, Postfix, Newfix, Bluefix speely.wordpress.com My, my, look at all those notations. You can infix: 2 + 2. You can prefix: + 2 2. You can postfix: 2 2 +. All three notations are perfectly arbitrary for the purposes of mathematics. (2 + 2) * &hel...

Automated Testing shared a link. January 15

http://speely.wordpress.com/tag/haskell/
Posts about haskell on Speely speely.wordpress.com Posts about haskell written by mcandre

Like Comment Share

Automated Testing shared a link. January 14

Like Comment Share

http://cacm.acm.org/magazines/2013/1/158780-who-begatcomputing/fulltext
Who Begat Computing? cacm.acm.org The Turing Centenary is now behind us and we can afford some reflection on what has transpired. There is a risk, however, that in our focus on highlighting Turing's seminal contributions we may have gone from celebration to hagiography.

Automated Testing shared a link. January 13

http://www03.ibm.com/ibm/history/exhibits/builders/builders_backus3.html Von Neumanns concept was brilliant. of course, and worked fine 30 years ago, said Backus. But, he paused, making arches of his hands, heres my highly oversimp...See More
IBM Archives: John Backus page 3 www-03.ibm.com

Like Comment Share

Automated Testing shared a link. January 13

John Backus was the developer of FORTRAN, for years one of the best known and most used programming systems in the world.

"Principles of Computer Programming: A Mathematical Approach" by Harlan D. Mills, Victor R. Basili e trace.tennessee.edu Mills, Harlan D.; Basili, Victor R.; Gannon, John D.; and Hamlet, Richard D., "Principles of Computer Programming: A Mathematical Approach" (1988). The Harlan D. Mills Collection.http://trace.tennessee.edu/ut k_harlan/7

Like Comment Share

Automated Testing shared a link. January 10

http://planet.haskell.org/
Planet Haskell planet.haskell.org Working on DuDuHoX is increasingly difficult. I've thought about giving up on some problems I had, either with code or libraries.

Like Comment Share

Automated Testing shared a link. January 10

http://www.dnull.com/cpu/backus.pdf Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs John Backus IBM Research Laboratory, San Jose
http://www.dnull.com/cpu/backus.pdf www.dnull.com Like Comment Share

Automated Testing shared a link. January 10

http://www.cambridge.org/gb/knowledge/isbn/item1163819/? site_locale=en_GB "The functional style is quite different to that promoted by most current languages, such as Java, C++, C, and Visual Basic. In particular, most current languages ar...See More

Like Comment Share

Automated Testing shared a link. January 9

http://www.cambridge.org/gb/knowledge/isbn/item1163819/? site_locale=en_GB
Programming in Haskell www.cambridge.org Haskell is one of the leading languages for teaching functional programming, enabling students to write simpler and cleaner code, and to learn how to structure and reason about programs. This introduction is ideal for beginners: it requires no previous programming experience and all concepts are exp... Like Comment Share

Programming in Haskell Like Comment Share www.cambridge.org Haskell is one of the leading languages for teaching functional programming, enabling students to write simpler and cleaner code, and Automated Testing shared a link. to learn how to structure and reason about programs. This introduction January 9 is ideal for beginners: it requires no previous programming experience and all concepts are exp...

http://sources.haskell.cz/
Index of / sources.haskell.cz

Automated Testing shared a link. January 9

Like Comment Share

http://www.cs.nott.ac.uk/~gmh/book.html#slides
Slides - Programming in Haskell www.cs.nott.ac.uk These slides may be freely used or modified for any educational or training purpose, provided that I am acknowledged as the original author. Automated Testing shared a link. January 9

http://nptel.iitm.ac.in/video.php?subjectId=106101061
NPTEL PHASE 2 - Courses nptel.iitm.ac.in

Like Comment Share Like Comment Share Automated Testing January 8

Automated Testing shared a link. January 8

Von Neuman Architecture https://ocaml.janestreet.com/?q=node%2F61


Caml Trading talk at CMU | ocaml.janestreet.com ocaml.janestreet.com I was at CMU several weeks ago, and gave a version of my "Caml Trading" talk there. See below if you are interested in seeing the video. It's a reasonably good source if you're interested in understanding more about how and why Jane Street uses OCaml.

Like Comment Share

Automated Testing shared a link. January 8

http://book.realworldhaskell.org/read/
Real World Haskell book.realworldhaskell.org Copyright 2007, 2008 Bryan O'Sullivan, Don Stewart, and John Goerzen. This work is licensed under a Creative Commons AttributionNoncommercial 3.0 License. Icons by Paul Davey aka Mattahan. Like Comment Share Like Comment Share

Automated Testing shared a link. January 8

Automated Testing shared a link. January 8

http://www.stacken.kth.se/project/yxa/
YXA www.stacken.kth.se 2007-11-05: YXA 1.0 is released! Two years after the first stable release, a very stable and mature SIP server is available. Enjoy.

http://blog.alainodea.com/en/article/393/nearly-defect-freesoftware-with-erlang
Nearly defect-free software with Erlang Concise Software Alain O'Dea blog.alainodea.com

Like Comment Share

Like Comment Share

Automated Testing shared a link. January 8

Automated Testing shared a link. January 8

http://reprog.wordpress.com/2010/03/11/the-differencebetween-imperative-and-functional-programming/
The difference between imperative and functional programming reprog.wordpress.com Have you ever had this frustrating experience? You need to drive somewhere that youve not been before, so you look that place up on the web. You find its site, and start looking through th...

https://github.com/lemenkov/erlrtpproxy
erlrtpproxy github.com RTP/RTCP proxy for VoIP and IM applications. Contribute to erlrtpproxy development by creating an account on GitHub.

Like Comment Share

Like Comment Share

Automated Testing shared a link. January 8

Automated Testing shared a link. January 7

http://blog.alainodea.com/en/article/393/nearly-defect-freesoftware-with-erlang
Nearly defect-free software with Erlang Concise Software Alain O'Dea blog.alainodea.com

http://www.slideshare.net/wooga/erlang-factory-sanfran
Erlang and the Cloud: A Fractal Approach to Throughput www.slideshare.net Erlang as a cloud citizen Paolo Negri @hungryblank

Like Comment Share

Like Comment Share

Automated Testing shared a link. January 7

http://smyck.net/2012/04/22/why-erlang/
Automated Testing shared a link. January 7 Why Erlang? | SMYCK smyck.net Why Erlang?Posted on April 22, 2012 by huklThe chance that you are reading this blog post on a device with a multicore cpu is increasing on a daily basis which is why everybody is talking about concurrency now. Concurrency for our web applications and API backends means that wed like our htop to lo...

http://www.javalimit.com/2011/05/erlang-is-not-a-concurrentfunctional-programming-language.html
Erlang is not a Concurrent Functional Programming Language Java to the Limit www.javalimit.com Whenever developers fall in love with Erlang (as many tend to do these days) they are too often busy promoting it to their friends and colleagues as a cool language for *concurrency* and *functional programming*. Which is a pity, for... Like Comment Share

Like Comment Share

Automated Testing shared a link. January 7

http://learnyousomeerlang.com/
Automated Testing shared a link. January 7 Learn You Some Erlang for Great Good! learnyousomeerlang.com Learn you some Erlang for great good! An Erlang tutorial for beginners and others too.

http://users.softlab.ntua.gr/~ttsiod/score4.html
Programming AI using functional and imperative languages users.softlab.ntua.gr I recently took a one week vacation and went to my parent's village. My niece Theodora was there (she is 7 years old), spending a fortnight with her grandparents. Naturally, in my duties as her uncle, I read her fairy tales when she went to sleep; gave her my phone so she could snap photos and play ...

Like Comment Share

Automated Testing shared a link. January 7

Like Comment Share

http://thesistime.blogspot.com/2008/10/haskell-vs-ada-vs-c-vsawk-vs.html
ThesisTime: Haskell vs. Ada vs. C++ vs. Awk vs. ... thesistime.blogspot.com The idea was to ask to an expert for each language to do a prototype of the requirement. The experts have two meetings before starting to work in where the problem was described. After that they should work on their prototypes and report the time it took to develop it, the number of lines of code an... Like Comment Share

Automated Testing shared a link. January 7

http://www.haskell.org/papers/NSWC/jfp.ps
http://www.haskell.org/papers/NSWC/jfp.ps www.haskell.org

Like Comment Share

Automated Testing shared a link. January 7

Automated Testing January 7

http://jaskell.codehaus.org/
Jaskell - Home jaskell.codehaus.org Jaskell is a functional scripting programming language that runs in JVM. The name "Jaskell" stands for JavaHaskell, Haskell being the famous pure functional programming language.

Like Comment Share

"Conventional programming languages are growing ever more enormous, but not stronger. Inherent defects at the most basic level cause them to be both fat and weak: their primitive wordat-a-time style of programming inherited from their common ancestor -- the von Neumann computer, their close coupling of semantics to state transitions, their division of programming into a world of expressions and a world of statements, their inability to effectively use powerful combining forms for building new programs from existing ones, and their lack of useful mathematical properties for reasoning about programs." John Backus, known for Fortran, Algol and BNF
Like Comment Share

Automated Testing January 7

"You wanted a banana but what you got was a gorilla holding the banana and the entire jungle." Joe Armstrong, creator of Erlang
Like Comment Share

Automated Testing shared a link. January 7

igstan.ro/files/functional-programming.pdf
http://igstan.ro/files/functional-programming.pdf igstan.ro Automated Testing shared a link. January 7 Like Comment Share

http://www.cl.cam.ac.uk/~jrh13/slides/funprog-jrh/
Index of /~jrh13/slides/funprog-jrh www.cl.cam.ac.uk Automated Testing shared a link. January 7

Introduction to Functional Programming - University of Cambridge


Like Comment Share http://www.cl.cam.ac.uk/~jrh13/slides/funprog-jrh/l1.pdf www.cl.cam.ac.uk Automated Testing shared a link. January 5 Like Comment Share

http://fpcomplete.com/the-downfall-of-imperative-programming/
The Downfall of Imperative Programming | FP Complete fpcomplete.com The Downfall of Imperative ProgrammingApril 9, 2012by Bartosz Milewski | 80 CommentsImperative programming is in my bloodstream. Ive been a C++ programmer for most of my life. I wrote a book about C++. I helped Andrei and Walter design an imperative language D. If I dabbled in functional programmin... Like Comment Share Automated Testing shared a link. January 5

http://misko.hevery.com/2008/09/10/where-have-all-the-newoperators-gone/
Where Have all the new Operators Gone? misko.hevery.com In My main() Method Is Better Than Yours we looked into what a main() method should look like. There we introduced a clear separation between (1) the responsibility of constructing the object graph and (2) the responsibility of running the application. The reason that this separation is important wa... Like Comment Share

Automated Testing shared a link. January 5

http://stackoverflow.com/questions/602444/what-is-functionaldeclarative-and-imperative-programming/8357604#8357604
terminology - What is functional, declarative and imperative programming? - Stack Overflow stackoverflow.com Functional programming is a subtype of declarative programming. So you've really asked the question "what is functional/declarative programming versus imperative programming"?

Like Comment Share

Show all stories from 2013

Launched

Automated Testing shared a link. December 31, 2012

Likes
2012

http://www.adacore.com/sparkpro/tokeneer/discovery
Tokeneer Discovery Tutorial | Tokeneer | SPARK Pro | AdaCore www.adacore.com This tutorial provides an introduction to the SPARK programming language and Toolset for engineering high-assurance software using the source code from the Tokeneer Project. It contains a series of lessons that demonstrates key features of the language and Toolset, illustrating why SPARK is superior... Like Comment Share

Automated software testing

Implementing Automated Software Testing

Automated Testing shared a link. December 31, 2012

http://www.adacore.com/sparkpro/tokeneer
Automated Testing shared a link. December 31, 2012 Tokeneer | SPARK Pro | AdaCore www.adacore.com In order to demonstrate that developing highly secure systems to the level of rigor required by the higher assurance levels of the Common Criteria is possible, the NSA (National Security Agency) asked Altran Praxis to undertake a research project to develop part of an existing secure system (the Tok...

http://www.altran-praxis.com/spark.aspx
Altran Praxis : Technology : SPARK www.altran-praxis.com Altran Praxis is a systems and software house. We are experts, focused on the engineering of systems with demanding safety, security or innovation requirements within Systems, Software and Safety Engineering, Innovation Management and Training. Altran Praxis is based in Bath, London and Loughborough... Like Comment Share

Like Comment Share

Automated Testing shared a link. December 25, 2012

http://www.testingstuff.com/
Automated Testing shared a link. December 25, 2012 Software Testing Stuff www.testingstuff.com Reference site for software quality and testing information including associations, tools, training, services, articles, conferences, and references.

http://www.objectiver.com/index.php?id=6
Objectiver: Documentation www.objectiver.com KAOS Tutorial (5.3 Mb) This tutorial covers the KAOS method, concepts and modeling techniques for analysing project requirements.

Like Comment Share

Like Comment Share

Automated Testing shared a link. December 25, 2012

http://www.testinginstitute.com/
Automated Testing shared a link. December 25, 2012 International Institute for Software Testing (IIST) CSTP & CTM Informational Home Page www.testinginstitute.com IIST is a software testing educational and professional development organization that is dedicated to advancing the software test profession through education and certification of software test professionals

http://www.grove.co.uk/
Grove Consulting, Specialists in Software Testing | Grove Consultants www.grove.co.uk Like Comment Share Grove Consulting are specialists in software testing and provide training for ISTQB and ISEB qualifications as well as a variety of other testing based courses. Automated Testing December 25, 2012

Like Comment Share

Automated Testing shared a link. December 25, 2012

http://bazman.tripod.com/checklist.html? button1=GUI+Testing+Checklist

Software Engineering Process Technology (SEPT): Software Test Standards, by Stan Magee IEEE Standard for Software Test Documentation (ANSI/IEEE Std. 829-1983) IEEE Standard for Software Unit Testing (ANSI/IEEE Std. 10081987) IEEE Standard for Software Verification and Validation Plans (IEEE Std. 1012-1986) IEEE Guide for Software Verification and Validation Plans (IEEE Std. 1059-1993)
Like Comment Share

Like Comment Share

Automated Testing shared a link. December 25, 2012

http://bazman.tripod.com/
GUI Testing Checklist bazman.tripod.com GUI Testing checklist intended for training new gui software testers & testing gui interfaces. May be usefulafor unit testing also. Automated Testing shared link. December 24, 2012 Bazman's Testing Pages bazman.tripod.com Software test plan, test plan contents, full contents of a system test plan, GUI Testing checklist intended for training new gui software testers & testing gui interfaces, test setup checklist, test planning tasklist. Like Comment Share

http://agile.csc.ncsu.edu/SEMaterials/tutorials/metrics/
Software Metrics agile.csc.ncsu.edu Laurie Williams, Dright Ho, and Sarah Heckman. [Contact Authors]CSC 326 Software Engineering Department of Computer ScienceNorth Carolina State University Like Comment Share

Automated Testing shared a link. December 24, 2012

http://www.openseminar.org/se/modules/6/index/screen.do
Software Engineering > Object-Oriented Metrics www.openseminar.org

Automated Testing shared a link. December 24, 2012

http://www.ipipan.gda.pl/~marek/objects/TOA/moose.html
Metrics for Object-Oriented Software Engineering www.ipipan.gda.pl In most conventional software (e.g., software created using functional decomposition), localization is based on functionality. Therefore:

Object-oriented (OO) metrics are measurements on OO applications used to determine the success or failure of a process or person, and to quantify improvements throughout the software process. These metrics can be used to reinforce good OO programming techniques, which leads to more reliable code. Like Comment Share

Automated Testing shared a link. December 24, 2012

Like Comment Share

http://www.sei.cmu.edu/library/abstracts/reports/93em007.cfm
Library | Materials for Teaching Software Inspections www.sei.cmu.edu This 1993 report includes materials for demonstrating how to perform an inspection and sell students on the effectiveness of inspections.

Automated Testing shared a link. December 24, 2012

http://agile.csc.ncsu.edu/SEMaterials/OOMetrics.htm

Like Comment Share

2.2 Cohesion Cohesion refers to how closely the operations in a class are related to each other. Cohesion of a class is the degree to which the local methods are related to the local...See More
Object-Oriented Metrics agile.csc.ncsu.edu Increasingly, object-oriented measurements are being used to evaluate and predict the quality of software [16]. A growing body of empirical results supports the theoretical validity of these metrics [3, 5, 14, 19]. The validation of these metrics requires convincingly demonstrating that (1) the metr... Like Comment Share

Automated Testing shared a link. December 21, 2012

http://www.softdocwiz.com/UML.htm
Softdocwiz.com - UML Dictionary www.softdocwiz.com A generalizable element is abstract if it cannot be directly instantiated. See the entries for abstract class, abstract operation, and abstract use case for more specific information.

Like Comment Share Automated Testing shared a link. December 19, 2012

Automated Testing December 19, 2012

http://nptel.iitm.ac.in/video.php?subjectId=106101061
NPTEL PHASE 2 - Courses nptel.iitm.ac.in

Coupling example http://pmd.sourceforge.net/pmd5.0.1/rules/java/coupling.html

Like Comment Share

Automated Testing December 19, 2012

Cyclomatic complexity 12 from http://phpmd.org/rules/codesize.html

Like Comment Share

Like Comment Share

Automated Testing December 15, 2012

Automated Testing shared a link. December 18, 2012

Oral history of Watts Humphrey "The reason its so extraordinary is that when you make a mistake-- and I tried to eliminate my mistakes, and I literally couldnt do it. I found that there was no way that I could write programs without making errors. And the reason was that I was human, contrary to popular opinion, right? But there was no way I could literally do it. Because I was human, I tended ...See More
Like Comment Share

http://www.freetechbooks.com/
Free Online Computer Science and Programming Books, Textbooks, and Lecture Notes www.freetechbooks.com Free online computer science, engineering and programming books, ebooks, texts, textbooks, lecture notes, documentations and references.

Like Comment Share

Automated Testing December 15, 2012

http://www.altran.com/
Like Comment Share

Automated Testing shared a link. December 15, 2012

Automated Testing shared a link. December 15, 2012

http://libre.adacore.com/tools/spark-gpl-edition/
SPARK GPL Edition | Tools | Libre libre.adacore.com SPARK GPL Edition 2012 GPL Edition Now Available! SPARK GPL provides the foremost language, toolset and design discipline for the engineering of high-assurance software. It combines the renowned SPARK language and verification tools from Altran Praxis with the GNAT Programming Studio (GPS) and GNATB... Like Comment Share

http://www.sans.org/top25-software-errors/
SANS: CWE/SANS TOP 25 Most Dangerous Software Errors www.sans.org The top 25 most dangerous software programming errors courtesy of CWE and the SANS Institute.

Like Comment Share

Automated Testing shared a link. December 11, 2012

Automated Testing shared a link. December 15, 2012

http://www.overturetool.org/?q=node%2F13
VDM++ examples for Overture | Overture www.overturetool.org

http://www.altran-praxis.com/spark.aspx
Altran Praxis : Technology : SPARK www.altran-praxis.com Altran Praxis is a systems and software house. We are experts, focused on the engineering of systems with demanding safety, security or innovation requirements within Systems, Software and Safety Engineering, Innovation Management and Training. Altran Praxis is based in Bath, London and Loughborough... Like Comment Share

Like Comment Share

Automated Testing shared a link. December 10, 2012

Automated Testing shared a link. December 11, 2012

http://www.vdmbook.com/twiki/bin/view
WebHome < Main < VdmBook www.vdmbook.com

http://www.palgrave.com/products/title.aspx?pid=265283
Software Development with UML : Ken Lunn : Palgrave Macmillan www.palgrave.com Palgrave Macmillan is a global academic publisher, serving learning and scholarship in higher education and the professional world

Like Comment Share

Like Comment Share

Automated Testing shared a link. December 8, 2012

Automated Testing shared a link. December 8, 2012

http://www.sqale.org/
SQALE | Software Quality Assessment based on Lifecycle Expectations www.sqale.org The method is the property of inspearit (formally DNV ITGS France), it is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported license. Like Comment Share

http://www.sonarsource.org/sonar-3-3-in-screenshots/
Sonar Sonar 3.3 in Screenshots www.sonarsource.org SONAR is an open source quality management platform, dedicated to continuously analyze and measure source code quality, from the portfolio to the method. Like Comment Share

Automated Testing shared a link. December 8, 2012

Automated Testing December 8, 2012

http://www.sonarsource.org/
Sonar www.sonarsource.org SONAR is an open source quality management platform, dedicated to continuously analyze and measure source code quality, from the portfolio to the method. Like Comment Share

http://vimeo.com/43523820
Like Comment Share

Automated Testing shared a link. December 8, 2012

http://www.informit.com/articles/article.aspx?p=457502
The Bad Code Spotter's Guide | Poor Commenting | InformIT www.informit.com Old maps were marked with the phrase "Here be Dragons" to help seafarers steer away from dangerous places; in programming the best way to avoid dealing with bad code is to avoid writing it. Diomidis Spinellis points out 10 giveaways to spot bad code that you (or others) Like Comment Share may have written.

Automated Testing shared a link. December 8, 2012

http://www.spinellis.gr/codequality/
Spinellis: Code Quality: The Open Source Perspective www.spinellis.gr Support page for Code Quality: The Open Source Perspective: Overview, discussion of approach, table of contents, reviews, errata, the making of.

Automated Testing shared a link. December 7, 2012

Like Comment Share

http://www.codinghorror.com/blog/2006/05/code-smells.html
Coding Horror: Code Smells www.codinghorror.com

Automated Testing shared a link. December 6, 2012

http://msmvps.com/blogs/peterritchie/archive/2008/05/08/funda mentals-of-ood-part-2-encapsulation-scope.aspx
Like Comment Share Fundamentals of OOD, Part 2 - Encapsulation Scope - Peter Ritchie's MVP Blog msmvps.com MVP's worldwide

I'm often asked why the book Refactoring isn't included in my recommended developer reading list. Although I own the book, and I've read it twice, I felt it was too prescriptive-- if you see (x), then you must do (y). Any programmer worth his or her salt should already be refactoring aggressively. I...

Automated Testing shared a link. December 6, 2012

Like Comment Share

http://msmvps.com/blogs/peterritchie/archive/2008/06/10/funda mentals-of-ood-part-3-method-cohesion.aspx

Automated Testing shared a link. December 6, 2012

Fundamentals of OOD Part 3: Method Cohesion - Peter Ritchie's MVP Blog msmvps.com MVP's worldwide

Example of non-cohesive methods http://www.scribd.com/doc/115766203/Example-of-NonCohesive-Methods


http://www.scribd.com/doc/115766203/Example-of-NonCohesive-Methods www.scribd.com

Like Comment Share

Automated Testing shared a link. December 6, 2012

Like Comment Share

http://pragprog.com/magazines/2010-12/cohesive-softwaredesign
The Pragmatic Bookshelf | PragPub December 2010 | Cohesive Software Design pragprog.com Books, screencasts, forums, articles, and more, all aimed at helping software developers get better and have more fun. Our titles are available on paper and electronically, and all our ebooks are DRM-free. Enjoy! Like Comment Share

Automated Testing December 6, 2012

Tools supported by TIOBE's product TICS http://www.tiobe.com/index.php/content/TICS/FactSheet.html

Automated Testing December 5, 2012

Language Code Checker Test Coverage Cyclomatic Complexity C/C++ TICSpp/TICSc (TIOBE internal code checkers) VectorCAST (Vector Software) SourceMonitor (Campwood) C++Test (Parasoft) C++Test (Parasoft) QA-C/C++ (Programming Research) BullseyeCoverage (Bullseye) PC-Lint (Gimpel) CTC++ (Testwell) CodeSonar (GrammaTech) gcov/lcov (SourceForge) C# FxCop (Microsoft) NCover (NCover) StyleCop (Microsoft) J...See More
Like Comment Share

Automated Testing shared a link. December 5, 2012 Like Comment Share

http://cobertura.sourceforge.net/
Cobertura cobertura.sourceforge.net Cobertura is a Java code coverage analysis tool. You can use it to determine what percentage of your source code is excercised by your unit tests.

Automated Testing shared a link. December 5, 2012

Example of Method with Cyclomatic Complexity 202 www.scribd.com MapsMIDlet.jaa lxxxi All classes and interfaces must belong to a named package 17 PMD Marker Avoid really long classes. 17 PMD Marker Efferent Couplings is 36 17 Metrics Marker Lack of Cohesion in Methods (Henderson-Sellers) is 90% 17 Metrics Marker Lack of Cohesion in Methods (Total Like Comment Share Correlation) i...

Like Comment Share

Automated Testing December 3, 2012

Automated Testing December 3, 2012

NPathComplexity - NPATH metric computes the number of possible execution paths through a function. It takes into account the nesting of conditional statements and multi-part boolean expressions (e.g., A && B, C || D, etc.). Rationale: Nejmeh says that his group had an informal NPATH limit of 200 on individual routines; functions that exceeded this value were candidates for further decomposition - or at least a closer look.
Like Comment Share

CyclomaticComplexity - checks cyclomatic complexity against a specified limit. The complexity is measured by the number of if, while, do, for, ?:, catch, switch, case statements, and operators && and || (plus one) in the body of a constructor, method, static initializer, or instance initializer. It is a measure of the minimum number of possible paths through the source and therefore the number of required tests. Generally 1-4 is considered good, 5-7 ok, 8-10 consider re-factoring, and 11+ re-factor now!
Like Comment Share

Automated Testing shared a link. November 29, 2012

https://www.coursehero.com/

Automated Testing shared a link. November 29, 2012

http://www.overturetool.org/?q=home
Welcome to the Overture tool project | Overture www.overturetool.org Overture is a community-based project developing the next generation of opensource tools to support modelling and analysis in the design of computerbased systems. Overture supports VDM: The Vienna Development Method, a set of modelling techniques with a long and successful history of industrial ap...

Course Hero | Study Guides, Lecture Notes, Flashcards, Practice Exams, Lecture Videos | The best way www.coursehero.com

Like Comment Share

Automated Testing shared a link. November 29, 2012

Like Comment Share

http://kurser.iha.dk/eit/tivdm1/groups.html
Model-drevet udvikling med VDM++ og UML 1 (TIVDM1) - Forr 2010 kurser.iha.dk

Automated Testing shared a link. November 21, 2012

http://computationaltales.blogspot.co.nz/
Computational Fairy Tales computationaltales.blogspot.co.nz Like Comment Share Like Comment Share

Automated Testing shared a link. November 21, 2012 Automated Testing shared a link. November 21, 2012

GREAT PRINCIPLES OF COMPUTING


welcome cs.gmu.edu

http://csunplugged.org/unplugged-teachers
Unplugged for Teachers | Computer Science Unplugged csunplugged.org The activities for Computer Science Unplugged are easy to integrate into a classroom program. Each is a self-contained lesson plan, and it's easy to... Like Comment Share Like Comment Share

Automated Testing shared a link. November 20, 2012

Automated Testing shared a link. November 20, 2012

http://pmd.sourceforge.net/
PMD pmd.sourceforge.net PMD is a source code analyzer. It finds unused variables, empty catch blocks, unnecessary object creation, and so forth.

http://www.eclipse.org/tptp/home/documents/process/developm ent/static_analysis/TPTP_static_analysis_tutorial_part1.html
TPTP static analysis tutorial part 1 www.eclipse.org The Eclipse Test & Performance Tools Platform (TPTP) is a powerful tool for evaluating the overall performance and quality of Java source code. In addition to well-known features for measuring code performance, TPTP now includes a framework that offers the user a uniform focus for all forms of stat... Like Comment Share

Like Comment Share

Automated Testing shared a link. November 20, 2012

Automated Testing shared a link. November 20, 2012

http://findbugs.sourceforge.net/
FindBugs - Find Bugs in Java Programs findbugs.sourceforge.net This is the web page for FindBugs, a program which uses static analysis to look for bugs in Java code. It is free software, distributed under the terms of theLesser GNU Public License. The name FindBugs and theFindBugs logoare trademarked byThe University of Maryland. FindBugs ...

http://andrei.gmxhome.de/jdepend4eclipse/
JDepend plugin for Eclipse: JDepend4Eclipse andrei.gmxhome.de JDepend4Eclipse plugin for Eclipse is a wrapper for running JDepend from within Eclipse, written by Andrey Loskutov

Like Comment Share

Like Comment Share

Automated Testing November 19, 2012

Automated Testing shared a link. November 20, 2012

http://codedependents.com/2009/07/01/top-5-static-analysis-

Nov 19, 2012 7:52pm

plugins-for-eclipse/
Top 5 Static Analysis Plugins for Eclipse codedependents.com Static Analysis How is it that static analysis is still a best kept secret while so much lips service is paid to code reviews? We have long since understood that boring repetitive jobs should be l...

Like Comment Share

Automated Testing shared a link. November 19, 2012

http://standards.ieee.org/findstds/standard/1044-1993.html
IEEE SA - 1044-1993 - IEEE Standard Classification for Software Anomalies standards.ieee.org A uniform approach to the classification of anomalies found in software and its documentation is provided. The processing of anomalies discovered during any software life cycle phase are described, and comprehensive lists of software anomaly classifications and related data items that are helpful to... Like Comment Share

Like Comment Share

Automated Testing shared a link. November 16, 2012

1. Introduction to Function Points A structured technique of problem solving, function point analysis is a method to break systems into smaller components, so they can be better understood and... Automated Testing shared a link. November 16, 2012

http://www.testinginstitute.com/cstpm.php
Certified Software Test Professional Master Level (CSTP-M) www.testinginstitute.com IIST provides testing for Software Testing Certification

Like Comment Share

Automated Testing shared a video. November 16, 2012

Fixing Software Design Defects part 3 Fixing Software Design Defects part 3

Like Comment Share

Automated Testing shared a link. November 14, 2012

http://www.springer.com/computer/swe/book/978-0-85729-2766
Specification of Software Systems www.springer.com Recent advances in software specification methods, model checking, and theorem proving have generated new tools for the use of formal methods in both industry and academia. Yet, in order to choose the techniques most appropriate ... Like Comment Share

Like Comment Share

Automated Testing shared a link. November 9, 2012

Automated Testing shared a link. November 9, 2012

http://www.sei.cmu.edu/certification/process/tsp/
SEI Certification | Process Improvement | TSP Coach www.sei.cmu.edu Be accepted into the program as a candidate after submission of all documentation described above. Then successfully complete the SEIsTSP Coach Training course. Upon graduation from the TSP Coach Training course, candidates must complete the mentoring program as detailed below. Like Comment Share

http://www.sei.cmu.edu/certification/process/psp-instructor/
SEI Certification | Process Improvement | PSP Instructor www.sei.cmu.edu PSP Instructor

Like Comment Share

Automated Testing shared a link. November 9, 2012

Automated Testing shared a link. November 9, 2012

http://www.sei.cmu.edu/certification/architecture/dsa/
SEI Certification | Software Architecture | Documenting Software Architectures Instructor www.sei.cmu.edu Effectively documenting a software architecture is as important as crafting it. As a Documenting Software Architectures (DSA) instructor, you'll be qualified to train others in effective software architecture documentation practices that meet the needs of the entire architecture stakeholder communit... Like Comment Share

http://www.sei.cmu.edu/certification/process/psp/
SEI Certification | Process Improvement | PSP Developer www.sei.cmu.edu The SEI Personal Software Process is a disciplined and structured approach to software development that can be applied to many different types of projects. As an SEI-Certified PSP Developer, you have the knowledge and skills to competently deliver quality software on predictable schedulesand the SE... Like Comment Share

Automated Testing shared a link. November 9, 2012

Automated Testing shared a link. November 9, 2012

http://www.sei.cmu.edu/certification/process/pcmm-instructor/
SEI Certification | Process Improvement | People CMM Instructor www.sei.cmu.edu People CMM Instructor

http://www.sei.cmu.edu/certification/architecture/atam/
SEI Certification | Software Architecture | Architecture Tradeoff Analysis Method Leader | Architect www.sei.cmu.edu The Software Engineering Institute ATAM is used to evaluate software architectures relative to quality attribute goals. An ATAM exposes architectural risks that could inhibit the achievement of an organization's business goals. Like Comment Share

Like Comment Share

Automated Testing shared a link. November 9, 2012

http://www.sei.cmu.edu/certification/measurement/dppss/
SEI Certification | Measurement & Analysis | Designing Products and Processes Using Six Sigma www.sei.cmu.edu Become an SEI-Certified Instructor for Designing Products and Processes Using Six Sigma

Automated Testing shared a link. November 9, 2012

http://www.sei.cmu.edu/certification/measurement/igdm/
SEI Certification | Measurement & Analysis | Implementing Goal-Driven Measurement Instructor | Instr www.sei.cmu.edu An Implementing Goal-Driven Measurement (IGDM) Instructor introduces the methods for identifying and defining indicators (graphical displays) and measures that directly support an organizations business goals related to product development, process improvement, and project management. Like Comment Share

Like Comment Share

Automated Testing shared a link. November 9, 2012

http://www.sei.cmu.edu/certification/measurement/ippss/
SEI Certification | Measurement & Analysis | Improving Process Performance Using Six Sigma www.sei.cmu.edu Become an SEI-Certified Instructor for Improving Process Performance Using Six Sigma

Automated Testing shared a link. November 9, 2012

http://www.sei.cmu.edu/certification/measurement/igdm/
SEI Certification | Measurement & Analysis | Implementing Goal-Driven Measurement Instructor | Instr www.sei.cmu.edu An Implementing Goal-Driven Measurement (IGDM) Instructor introduces the methods for identifying and defining indicators (graphical displays) and measures that directly support an organizations business goals related Like Comment Share to product development, process improvement, and project management.

Like Comment Share

Automated Testing shared a link. November 5, 2012

AntiPatterns sourcemaking.com AntiPatterns, like their design pattern counterparts, define an industry vocabulary for the common defective processes and implementations within organizations. A higher-level vocabulary simplifies communication between software practitioners and enables concise description of higher-level concepts.

Automated Testing shared a link. November 5, 2012

UML sourcemaking.com Most books aboutUMLdescribe it almost in its entirety. Inevitably youre left with only a superficial knowledge of the range ofUMLelements, without a deep and intuitive understanding of how to applyUMLas a whole to real world design problems. This book doesnt set out to cover all ofUML, but instead... Like Comment Share

Like Comment Share

Automated Testing shared a link. November 2, 2012

http://www.doc.ic.ac.uk/~jnm/book/

Automated Testing shared a link. November 2, 2012

http://www.doc.ic.ac.uk/~jnm/book/book_applets/concurrency.ht ml

Concurrency: models and programs www.doc.ic.ac.uk

Like Comment Share Like Comment Share Concurrency - State Models & Java Programs www.doc.ic.ac.uk

Automated Testing shared a link. November 2, 2012

Automated Testing October 30, 2012

http://www.doc.ic.ac.uk/~jnm/book/
Concurrency - State Models & Java Programs www.doc.ic.ac.uk

Oct 31, 2012 12:13am


ArgoUML in action

Like Comment Share

Automated Testing shared a link. October 30, 2012

CodeBalance: Software Architecture Antipatterns : Swiss Army Knife Interface codebalance.blogspot.com "First of all, you must think that this interface will be implemented by a class and if the number of methods is excessive, there will be plenty of empty method bodies in implementor class."You make the assumption that an interface cannot provide a default implementation. That Like Comment was true 15 years ago,... Share

Unlike Comment Share

Automated Testing October 29, 2012

Automated Testing October 29, 2012

Code should not resemble Swiss Army knife :)

Does your code look like spaghetti?

Like Comment Share

Like Comment Share

Automated Testing October 28, 2012

Automated Testing updated their cover photo. October 28, 2012

http://foter.com/

Like Comment Share

Automated Testing shared a link. October 26, 2012

http://nptel.iitm.ac.in/courses/Webcoursecontents/IIT%20Kharagpur/Soft%20Engg/New_index1.html
IIT Kharagpur - NPTEL Online nptel.iitm.ac.in

Like Comment Share

Automated Testing shared a link. October 26, 2012

http://nptel.iitm.ac.in/courses.php?disciplineId=106
Like Comment Share Tag Friends NPTEL PHASE 2 - Courses nptel.iitm.ac.in Automated Testing shared a link. October 23, 2012 Like Comment Share

One more book on software architecture


Automated Testing October 23, 2012 Software Architecture: Foundations, Theory, and Practice www.amazon.com Software architecture is foundational to the development of large, practical software-intensive applications. This brand-new text covers all facets of software architecture and how it serves as the intellectual centerpiece of software development and evolution. Critically, this text focuses on su... Like Comment Share

Oct 23, 2012 10:18pm


Problems with ArchStudio and Eclipse on Ubuntu :(

Automated Testing shared a link. October 23, 2012

Definitions of software architecture http://www.sei.cmu.edu/architecture/


Software Architecture | Overview www.sei.cmu.edu Software architecture serves as the blueprint for both the system and the project developing it. Learn about the SEI's expertise in software architecture. Like Comment Share Like Comment Share

Automated Testing shared Computer Science's photo. October 13, 2012

Automated Testing October 13, 2012

I got this.

Oct 13, 2012 4:44pm

Like Comment Share

Like Comment Share

Automated Testing shared a link via Software Testing Jobs. October 12, 2012 Apply for the ARK Challenge Accelerator For Tech Startups, Application Deadline June 17 | Purdue CS: www.cs.purdue.edu The deadline approaches for applicants to The ARK Challenge Accelerator For Tech Startups New Tech Accelerator In Northwest Arkansas Offers Rare Access To Top Minds In Retail, Transportation/Logistics And Food Processing Like Comment Share

Automated Testing shared a link. October 12, 2012

Below is the link for Introduction to Software Engineering IIT Bombay Lectures in this course:39 1 - Introduction to Software Engineering (52:21) 2 - Introduction to Software Engineering (52:55) 3 - Overview of Phases (57:22) 4 - Overview ...See More
NPTEL PHASE 2 - Courses nptel.iitm.ac.in

Automated Testing October 12, 2012

Great video tutorial on software engineering http://www.youtube.com/course?list=EC8751DA481F0F0D17


Like Comment Share

Like Comment Share

Automated Testing shared a link. October 12, 2012

Automated Testing shared a link. October 12, 2012

PSP and Cleanroom Software Engineering are two software processes that deliver high-quality software
Cleanroom Software Engineering: Technology and Process www.amazon.com Cleanroom software engineering is a process for developing and certifying high-reliability software. Combining theory-based engineering technologies in project management, incremental development, software specification and design, correctness verification, and Like Comment statistical ... Share

Architecture centric software development delivers testable software


Architecture-Centric Software Project Management: A Practical Guide www.amazon.com To fully leverage the value of software architecture in enterprise development projects, you need to expressly and consciously link architecture with project management. This book shows how, drawing on powerful lessons learned at Siemens, one of the world's leading software development organizati... Like Comment Share

Automated Testing October 11, 2012

Automated Testing shared a link. October 12, 2012

Get ready for ArgoUML design critics ArgoUML Design Critics Chapter 15. The Critics Table of Contents 15.1. Introduction 15.1.1. Terminology 15.1.2. Design Issues 15.2. Uncategorized ...See More
Like Comment Share

It's sometimes very useful to evaluate software architecture by learning and observing architectures of past projects
Evaluating Software Architectures: Methods and Case Studies www.amazon.com The foundation of any software system is its architecture. Using this book, you can evaluate every aspect of architecture in advance, at remarkably low cost -- identifying improvements that can dramatically improve any system's performance, security, reliability, and maintainability. As the pract... Like Comment Share

Automated Testing October 11, 2012

Automated Testing shared a link. October 11, 2012

Screenshots from Automated testing efforts (3 photos)


Tools for automated testing of software architecture and software design

This book provides disciplined approach to software development. Once the software is built this way automated testing becomes value added tool that preserves inherent quality of PSP based software
PSP(sm): A Self-Improvement Process for Software Engineers www.amazon.com Most software-development groups have embarrassing records: By some accounts, more than half of all software projects are significantly late and over budget, and nearly a quarter of them are cancelled without ever being completed. Although developers recognize that unrealistic schedules, inade... Like Comment Share

Like Comment Share

Automated Testing shared a link. October 11, 2012

Automated Testing shared a link. October 11, 2012

Here we propose automated testing of software architecture and software design with two tools, ArchLight and ArgUML
Elevator Pitch for Testing Software Architecture and Software Design www.scribd.com Elevator Pitch for Testing Software Architecture and Software Design

Here we propose software testing checklist on how to achieve zero defects software
Zero Defects Software Checklists www.scribd.com Scribd is the world's largest social reading and publishing site.

Like Comment Share

Like Comment Share

Automated Testing 2012

Fixing Software Design Defects part 3


Fixing Software Design Defects part 3 at Belgrade, Serbia.

Like Comment Share Tag Friends

JoinedFacebook
October 11, 2012

Like Comment

Launchedin2012
Like Comment

About

Create an Ad

Create a Page

Developers

Careers

Privacy

Cookies

Terms

Help

Facebook 2013 English (US)

Você também pode gostar