The category-partition method for specifying and generating fuctional tests
Communications of the ACM
A Fortran language system for mutation-based software testing
Software—Practice & Experience
Object-oriented development: the fusion method
Object-oriented development: the fusion method
A Practical Approach to Programming With Assertions
IEEE Transactions on Software Engineering
The object constraint language: precise modeling with UML
The object constraint language: precise modeling with UML
Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
Computer
Reliable Objects: Lightweight Testing for OO Languages
IEEE Software
Robustness and Diagnosability of OO Systems Designed by Contracts
METRICS '01 Proceedings of the 7th International Symposium on Software Metrics
Building Trust into OO Components Using a Genetic Analogy
ISSRE '00 Proceedings of the 11th International Symposium on Software Reliability Engineering
ISSRE '01 Proceedings of the 12th International Symposium on Software Reliability Engineering
A framework for component deployment testing
Proceedings of the 25th International Conference on Software Engineering
Constraint satisfaction techniques for diagnosing errors in design by contract software
SAVCBS '05 Proceedings of the 2005 conference on Specification and verification of component-based systems
Design by Contract to Improve Software Vigilance
IEEE Transactions on Software Engineering
Generating class contracts from UML protocol statemachines
Proceedings of the 6th International Workshop on Model-Driven Engineering, Verification and Validation
Automatic implementation of constraints in component based applications
Information and Software Technology
A framework for contract-based collaborative verification and validation of web services
CBSE'07 Proceedings of the 10th international conference on Component-based software engineering
Modeling behavioral RESTful web service interfaces in UML
Proceedings of the 2011 ACM Symposium on Applied Computing
Designing level 3 behavioral RESTful web service interfaces
ACM SIGAPP Applied Computing Review
Supporting tools for designing-by-contract in component-based applications
MIS'04 Proceedings of the 2004 international conference on Metainformatics
Designing a domain-specific contract language: a metamodelling approach
ECMDA-FA'05 Proceedings of the First European conference on Model Driven Architecture: foundations and Applications
Generating class contracts from deterministic UML protocol statemachines
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
Hi-index | 0.01 |
A number of activities involved in testing software are known to be difficult and time consuming. Among them is the isolation of faults once failures have been detected. In this paper, we investigate how the instrumentation of contracts could address this issue. Contracts are known to be a useful technique to specify the precondition and postcondition of operations and class invariants, thus making the definition of object-oriented analysis or design elements more precise. Our aim in this paper is to reuse and instrument contracts to ease testing. A thorough case study is run where we define contracts, instrument them using a commercial tool, and assess the benefits and limitations of doing so to support the isolation of faults. We then draw practical conclusions regarding the applicability of the approach and its limitations.