Back to Search
Start Over
Behavioral interface specification languages
- Source :
- ACM Computing Surveys. 44:1-58
- Publication Year :
- 2012
- Publisher :
- Association for Computing Machinery (ACM), 2012.
-
Abstract
- Behavioral interface specification languages provide formal code-level annotations, such as preconditions, postconditions, invariants, and assertions that allow programmers to express the intended behavior of program modules. Such specifications are useful for precisely documenting program behavior, for guiding implementation, and for facilitating agreement between teams of programmers in modular development of software. When used in conjunction with automated analysis and program verification tools, such specifications can support detection of common code vulnerabilities, capture of light-weight application-specific semantic properties, generation of test cases and test oracles, and full formal program verification. This article surveys behavioral interface specification languages with a focus toward automatic program verification and with a view towards aiding the Verified Software Initiative—a fifteen-year, cooperative, international project directed at the scientific challenges of large-scale software verification.
- Subjects :
- General Computer Science
Programming language
Computer science
Runtime verification
020207 software engineering
0102 computer and information sciences
02 engineering and technology
Design by contract
computer.software_genre
Formal methods
01 natural sciences
Theoretical Computer Science
Test case
010201 computation theory & mathematics
Formal specification
Postcondition
0202 electrical engineering, electronic engineering, information engineering
Verification
computer
Software verification
Subjects
Details
- ISSN :
- 15577341 and 03600300
- Volume :
- 44
- Database :
- OpenAIRE
- Journal :
- ACM Computing Surveys
- Accession number :
- edsair.doi...........9abe2acd1d328796cdc9ff1f9e29c229
- Full Text :
- https://doi.org/10.1145/2187671.2187678