Mining specifications
University of Wisconsin–Madison · Microsoft (United States)
Abstract
Program verification is a promising approach to improving program quality, because it can search all possible program executions for specific errors. However, the need to formally describe correct behavior or errors is a major barrier to the widespread adoption of program verification, since programmers historically have been reluctant to write formal specifications. Automating the process of formulating specifications would remove a barrier to program verification and enhance its practicality.This paper describes specification mining, a machine learning approach to discovering formal specifications of the protocols that code must obey when interacting with an application program interface or abstract data…
Citation impact
- FWCI
- 52.85
- Percentile
- 100%
- References
- 29
Authors
3Topics & keywords
- Computer science
- Programmer
- Programming language
- Debugging
- Process (computing)
- Software engineering
- Formal specification
- Formal verification