Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation 2008
DOI: 10.1145/1375581.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...
3
1
1

Citation Types

1
116
0
1

Year Published

2008
2008
2022
2022

Publication Types

Select...
8

Relationship

1
7

Authors

Journals

citations
Cited by 148 publications
(118 citation statements)
references
References 37 publications
1
116
0
1
Order By: Relevance
“…Similar to us, Clousot [41] improves its performance by conjoining equalities and inequalities over boxes. Some approaches like [25,26,52,32,34,29,43] can handle disjunctions, but they restrict the number of disjunctions by widening, manual input, or trace based heuristics. In contrast, [28] handles disjunctions of a specific form.…”
Section: Comparison With Linear Invariant Generationmentioning
confidence: 99%
“…Similar to us, Clousot [41] improves its performance by conjoining equalities and inequalities over boxes. Some approaches like [25,26,52,32,34,29,43] can handle disjunctions, but they restrict the number of disjunctions by widening, manual input, or trace based heuristics. In contrast, [28] handles disjunctions of a specific form.…”
Section: Comparison With Linear Invariant Generationmentioning
confidence: 99%
“…Constraint-based techniques have been recently used for discovering linear arithmetic invariants (conjunctive invariants [11][12][13][14] as well as disjunctive invariants [15] in the context of verifying safety properties as well as discovering ranking functions for proving termination [16,17]). Constraint-based techniques have also been applied for discovering non-linear polynomial invariants [13,18] and invariants in the combined theory of linear arithmetic and uninterpreted functions [19].…”
Section: Weakest Precondition Inferencementioning
confidence: 99%
“…As a result, earlier work on constraint-based techniques (with the exception of [15]) has been limited to program verification as opposed to other program analysis problems such as weakest precondition generation. This paper demonstrates the applicability of constraint-based methodology to the problem of weakest precondition generation, which in turn can be used for generation of most-general counterexamples (assuming program termination).…”
Section: Weakest Precondition Inferencementioning
confidence: 99%
See 1 more Smart Citation
“…Also related but different from ours is work in the areas of invariant generation and specification mining, which extract properties of a program or system model, such as invariants [22,13,23], temporal logic formulas [27,33] or non-deterministic finite automata [6].…”
Section: Introductionmentioning
confidence: 99%