2008
DOI: 10.1145/1379022.1375616
|View full text |Cite
|
Sign up to set email alerts
|

Program analysis as constraint solving

Abstract: A constraint-based approach to invariant generation in programs translates a program into constraints that are solved using off-theshelf constraint solvers to yield desired program invariants.In this paper we show how the constraint-based approach can be used to model a wide spectrum of program analyses in an expressive domain containing disjunctions and conjunctions of linear inequalities. In particular, we show how to model the problem of context-sensitive interprocedural program verification. We also presen… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
72
0

Year Published

2013
2013
2021
2021

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 60 publications
(73 citation statements)
references
References 35 publications
(20 reference statements)
1
72
0
Order By: Relevance
“…However, the incompleteness did not manifest in any of our experiments. Similar observation has also been documented in the previous works such as [15].…”
Section: Solving Numerical Parametric Formulassupporting
confidence: 91%
See 2 more Smart Citations
“…However, the incompleteness did not manifest in any of our experiments. Similar observation has also been documented in the previous works such as [15].…”
Section: Solving Numerical Parametric Formulassupporting
confidence: 91%
“…This approach has been used by previous works [7,9,15] to infer linear invariants for numerical programs. There are two important points to note about this approach: (a) In the presence of real valued variables, handling strict inequalities in the parametric formula requires an extension based on Motzkin's transposition theorem as discussed in [24].…”
Section: Solving Numerical Parametric Formulasmentioning
confidence: 99%
See 1 more Smart Citation
“…The benchmarks f2, gulv*, and substring1 are from [15]. The benchmarks pldi08* are from [16]. The benchmarks xy* are variations on a classic two-loop example requiring linear congruences.…”
Section: Discussionmentioning
confidence: 99%
“…While fully-automatic SAT solvers (for propositional satisfiability) and SMT (satisfiability modulo theory) solvers are being used to implement advanced static analysis techniques with promising results (e.g. [58,46]) and can determine the satisfiability of large numbers of large formulas, keeping humans involved in the theorem proving process allows the search for a proof to be tailored to the particular theorem at hand, and therefore allows a wider range, in a sense, of theorems to be proved. Furthermore, contrary to what might have been suggested by the step-by-step detail of the example above, many subproblems can be solved automatically by Coq and other interactive theorem provers, and work is being done to send subproblems of interactive theorem provers to automatic tools [36] in order to combine the best of both worlds.…”
Section: The Significance Of Interactive Theorem Proving In General Amentioning
confidence: 99%