Affiliation:
1. University of Wisconsin-Madison, Madison, USA
Abstract
Every program should be accompanied by a specification that describes important aspects of the code's behavior, but writing good specifications is often harder than writing the code itself. This paper addresses the problem of synthesizing specifications automatically, guided by user-supplied inputs of two kinds: i) a query posed about a set of function definitions, and ii) a domain-specific language L in which the extracted property is to be expressed (we call properties in the language L-properties). Each of the property is a best L-property for the query: there is no other L-property that is strictly more precise. Furthermore, the set of synthesized L-properties is exhaustive: no more L-properties can be added to it to make the conjunction more precise.
We implemented our method in a tool, Spyro. The ability to modify both the query and L provides a Spyro user with ways to customize the kind of specification to be synthesized. We use this ability to show that Spyro can be used in a variety of applications, such as mining program specifications, performing abstract-domain operations, and synthesizing algebraic properties of program modules.
Funder
National Science Foundation
Office of Naval Research
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference49 articles.
1. Rajeev Alur Dana Fisman Saswat Padhi Rishabh Singh and Abhishek Udupa. 2019. SyGuS-Comp 2018: Results and Analysis. https://doi.org/10.48550/ARXIV.1904.07146 10.48550/ARXIV.1904.07146
2. Rajeev Alur Dana Fisman Saswat Padhi Rishabh Singh and Abhishek Udupa. 2019. SyGuS-Comp 2018: Results and Analysis. https://doi.org/10.48550/ARXIV.1904.07146
3. Synthesizing contracts correct modulo a test generator
4. The Parma Polyhedra Library: Toward a complete set of numerical abstractions for the analysis and verification of hardware and software systems
5. cvc5: A Versatile and Industrial-Strength SMT Solver
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献