Writing Larch interface language specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
JML (poster session): notations and tools supporting detailed design in Java
OOPSLA '00 Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum)
Design by contract, by example
Design by contract, by example
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
The verifying compiler: A grand challenge for computing research
Journal of the ACM (JACM)
Computer
High Integrity Software: The SPARK Approach to Safety and Security
High Integrity Software: The SPARK Approach to Safety and Security
Assertions: A Personal Perspective
IEEE Annals of the History of Computing
An overview of JML tools and applications
International Journal on Software Tools for Technology Transfer (STTT) - Special section on formal methods for industrial critical systems
Logical Foundations of Program Assertions: What do Practitioners Want?
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
Non-null references by default in the Java modeling language
SAVCBS '05 Proceedings of the 2005 conference on Specification and verification of component-based systems
ESC/Java2: uniting ESC/Java and JML
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
A Sound Assertion Semantics for the Dependable Systems Evolution Verifying Compiler
ICSE '07 Proceedings of the 29th international conference on Software Engineering
A comparative study of programmer-written and automatically inferred contracts
Proceedings of the eighteenth international symposium on Software testing and analysis
Specifying reusable components
VSTTE'10 Proceedings of the Third international conference on Verified software: theories, tools, experiments
Proceedings of the 33rd International Conference on Software Engineering
Usable verification of object-oriented programs by combining static and dynamic techniques
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
Inferring method specifications from natural language API descriptions
Proceedings of the 34th International Conference on Software Engineering
What good are strong specifications?
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
For decades now, modular design methodologies have helped software engineers cope with the size and complexity of modern-day industrial applications. To be truly effective though, it is essential that module interfaces be rigorously specified. Design by Contract (DBC) is an increasingly popular method of interface specification for object-oriented systems. Many researchers are actively adding support for DBC to various languages such as Ada, Java and C#. Are these research efforts justified? Does having support for DBC mean that developers will make use of it? We present the results of an empirical study measuring the proportion of assertion statements used in Eiffel contracts. The study results indicate that programmers using Eiffel (the only active language with built-in support for DBC) tend to write assertions in a proportion that is higher than for other languages.