Abstraction and specification in program development
Abstraction and specification in program development
Derivation and validation of software metrics
Derivation and validation of software metrics
A Practical Approach to Programming With Assertions
IEEE Transactions on Software Engineering
An overview and comparative classification of program slicing techniques
Journal of Systems and Software
Property-Based Software Engineering Measurement
IEEE Transactions on Software Engineering
An experimental evaluation of data flow and mutation testing
Software—Practice & Experience
Computation of Dynamic Program Slices for Unstructured Programs
IEEE Transactions on Software Engineering
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Coverage estimation for symbolic model checking
Proceedings of the 36th annual ACM/IEEE Design Automation Conference
Programmers use slices when debugging
Communications of the ACM
Contract Soundness for object-oriented languages
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Investigating the use of analysis contracts to support fault isolation in object oriented code
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Dependability: Basic Concepts and Terminology
Dependability: Basic Concepts and Terminology
Computer
Reliable Objects: Lightweight Testing for OO Languages
IEEE Software
Towards a Framework for Software Measurement Validation
IEEE Transactions on Software Engineering
On the Relation between Design Contracts and Errors: A Software Development Strategy
ECBS '02 Proceedings of the 9th IEEE International Conference on Engineering of Computer-Based Systems
A Simple and Practical Approach to Unit Testing: The JML and JUnit Way
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Coverage of Implementations by Simulating Specifications
TCS '02 Proceedings of the IFIP 17th World Computer Congress - TC1 Stream / 2nd IFIP International Conference on Theoretical Computer Science: Foundations of Information Technology in the Era of Networking and Mobile Computing
From diagnosis to diagnosability: axiomatization, measurement and application
Journal of Systems and Software
Constructing Corba-Supported Oracles for Testing: A Case Study in Automated Software Testing
Proceedings of the 17th IEEE international conference on Automated software engineering
Robustness and Diagnosability of OO Systems Designed by Contracts
METRICS '01 Proceedings of the 7th International Symposium on Software Metrics
ISSRE '98 Proceedings of the The Ninth International Symposium on Software Reliability Engineering
Efficient Strategies for Integration and Regression Testing of OO Systems
ISSRE '99 Proceedings of the 10th International Symposium on Software Reliability Engineering
Inter-Class Mutation Operators for Java
ISSRE '02 Proceedings of the 13th International Symposium on Software Reliability Engineering
Investigating the use of analysis contracts to improve the testability of object-oriented code
Software—Practice & Experience
Empirical evaluation of the tarantula automatic fault-localization technique
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Improving test suites for efficient fault localization
Proceedings of the 28th international conference on Software engineering
A framework for proving contract-equipped classes
ASM'03 Proceedings of the abstract state machines 10th international conference on Advances in theory and practice
Lightweight defect localization for java
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Towards an automated test generation for the verification of model transformations
Proceedings of the 2007 ACM symposium on Applied computing
Software Testing Research: Achievements, Challenges, Dreams
FOSE '07 2007 Future of Software Engineering
Action synchronization in P2P system testing
DaMaP '08 Proceedings of the 2008 international workshop on Data management in peer-to-peer systems
Deriving Input Partitions from UML Models for Automatic Test Generation
Models in Software Engineering
Testing Architectures for Large Scale Systems
High Performance Computing for Computational Science - VECPAR 2008
A constructive approach to testing model transformations
ICMT'10 Proceedings of the Third international conference on Theory and practice of model transformations
An introduction to network stack design using software design patterns
MACE'10 Proceedings of the 5th IEEE international conference on Modelling autonomic communication environments
Contracts for model execution verification
ECMFA'11 Proceedings of the 7th European conference on Modelling foundations and applications
Reusable MDA components: a testing-for-trust approach
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
Automated verification of model transformations based on visual contracts
Automated Software Engineering
Model transformation testing: the state of the art
Proceedings of the First Workshop on the Analysis of Model Transformations
Design pattern-based extension of class hierarchies to support runtime invariant checks
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
Quantum adiabatic machine learning
Quantum Information Processing
Hi-index | 0.00 |
Design by Contract is a lightweight technique for embedding elements of formal specification (such as invariants, pre and postconditions) into an object-oriented design. When contracts are made executable, they can play the role of embedded, online oracles. Executable contracts allow components to be responsive to erroneous states and, thus, may help in detecting and locating faults. In this paper, we define Vigilance as the degree to which a program is able to detect an erroneous state at runtime. Diagnosability represents the effort needed to locate a fault once it has been detected. In order to estimate the benefit of using Design by Contract, we formalize both notions of Vigilance and Diagnosability as software quality measures. The main steps of measure elaboration are given, from informal definitions of the factors to be measured to the mathematical model of the measures. As is the standard in this domain, the parameters are then fixed through actual measures, based on a mutation analysis in our case. Several measures are presented that reveal and estimate the contribution of contracts to the overall quality of a system in terms of vigilance and diagnosability.