Abstract
Deductive verifiers require intensive user interaction in the form of writing precise specifications, thereby limiting their use in practice. While many solutions have been proposed to generate specifications, their evaluations and comparisons to other tools are limited. As a result, it is unclear what the best approaches for specification inference are and how these impact the overall specification writing process. In this paper we take steps to address this problem by providing an overview of specification inference tools that can be used for deductive verification of Java programs. For each tool, we discuss its approach to specification inference and identify its advantages and disadvantages. Moreover, we identify the types of specifications that it infers and use this to estimate the impact of the tool on the overall specification writing process. Finally, we identify the ideal features of a specification generator and discuss important challenges for future research.
Original language | English |
---|---|
Article number | 111972 |
Journal | Journal of Systems and Software |
Volume | 211 |
DOIs | |
Publication status | Published - May 2024 |
Keywords
- Annotations
- Deductive verification
- Specification generation
- Specification inference
- Specifications
- Survey
- UT-Hybrid-D