Survey of Specification Generators for Deductive Verifiers

Survey of tools to generate specifications for programs to be verified with deductive verifiers

Deductive verification is a program verification technique where the user specifies how the program should behave. Tools then check whether the program adheres to the specification. Writing these specifications tends to take a lot of time and expertise. This limits the application of deductive verifiers in practice. This problem is sometimes called the “specification bottleneck”.

In this research we did a literature review to identify the various approaches that have been proposed to generate specifications/annotations for deductive verification. We specifically provide:

  • A survey of tools that generate formal specifications for Java programs
  • Analyse the impact of these tools on the overall specification writing process
  • Provide practical recommendations for future inference tool development
  • Provide a list of open research problems for specification inference.
Built with Hugo
Theme Stack designed by Jimmy