2015
DOI: 10.1007/978-3-662-48899-7_34
|View full text |Cite
|
Sign up to set email alerts
|

Using Program Synthesis for Program Analysis

Abstract: In this paper, we identify a fragment of second-order logic with restricted quantification that is expressive enough to capture numerous static analysis problems (e.g. safety proving, bug finding, termination and non-termination proving, superoptimisation). We call this fragment the synthesis fragment. Satisfiability of a formula in the synthesis fragment is decidable over finite domains; specifically the decision problem is NEXPTIME-complete. If a formula in this fragment is satisfiable, a solution consists o… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
24
0

Year Published

2016
2016
2022
2022

Publication Types

Select...
5
2
1

Relationship

5
3

Authors

Journals

citations
Cited by 18 publications
(24 citation statements)
references
References 30 publications
0
24
0
Order By: Relevance
“…Heuristics for constant synthesis are presented in [11], where the solution language is parameterised, inducing a lattice of progressively more expressive languages. One of the parameters is word width, which allows synthesizing programs with constants that satisfy the specification for smaller word widths.…”
Section: Related Workmentioning
confidence: 99%
“…Heuristics for constant synthesis are presented in [11], where the solution language is parameterised, inducing a lattice of progressively more expressive languages. One of the parameters is word width, which allows synthesizing programs with constants that satisfy the specification for smaller word widths.…”
Section: Related Workmentioning
confidence: 99%
“…Program synthesizers implementing Counter-Example Guided Inductive Synthesis (CEGIS) [34] are now able to generate programs for highly non-trivial specifications with a very high degree of automation. Modern synthesis engines combine automated testing, genetic algorithms, and SMT-based automated reasoning [1,11].…”
Section: Doimentioning
confidence: 99%
“…An important aspect of any CEGIS-based synthesis algorithm is the manner in which the space of candidate programs is being searched. Next, we describe the most popular strategies, which are run in parallel in [ 9 ].…”
Section: Counter-example-guided Inductive Synthesismentioning
confidence: 99%
“…Then, proving safety of loop L is equivalent to proving the satisfiability of the formula [ S ]. If, as shown below, we augment the previous example with an initial state and an assertion, then the program synthesizer in [ 9 ] finds I ( x ) = x ≥ 0 as a safety invariant:…”
Section: Successful Applications Of Counter-example-guided Inductive mentioning
confidence: 99%