Proceedings of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering 2006
DOI: 10.1145/1181775.1181789
|View full text |Cite
|
Sign up to set email alerts
|

Interpolation for data structures

Abstract: Interpolation based automatic abstraction is a powerful and robust technique for the automated analysis of hardware and software systems. Its use has however been limited to controldominated applications because of a lack of algorithms for computing interpolants for data structures used in software programs. We present efficient procedures to construct interpolants for the theories of arrays, sets, and multisets using the reduction approach for obtaining decision procedures for complex data structures. The app… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
93
0

Year Published

2010
2010
2020
2020

Publication Types

Select...
7

Relationship

1
6

Authors

Journals

citations
Cited by 76 publications
(93 citation statements)
references
References 40 publications
(69 reference statements)
0
93
0
Order By: Relevance
“…Kapur et al [7] prove that full QFPA is closed under interpolation (as an instance of a more general result about recursively enumerable theories), but their proof does not directly give rise to an efficient interpolation procedure. Lynch et al [8] define an interpolation procedure for linear rational arithmetic, and extend it to integer arithmetic by means of Gomory cuts.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
See 1 more Smart Citation
“…Kapur et al [7] prove that full QFPA is closed under interpolation (as an instance of a more general result about recursively enumerable theories), but their proof does not directly give rise to an efficient interpolation procedure. Lynch et al [8] define an interpolation procedure for linear rational arithmetic, and extend it to integer arithmetic by means of Gomory cuts.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…In order to support expressive programming languages, much effort has been invested in the design of algorithms that compute interpolants for formulae of various theories. As a result, efficient interpolation methods are known for propositional logic, linear arithmetic over the reals with uninterpreted functions [10,1,16], datastructures like arrays and sets [7], and other theories. As for integer arithmetic, a theory particularly relevant for software, interpolating solvers have so far been reported only for restricted fragments such as difference-bound logic, and logics with linear equalities and constant-divisibility predicates.…”
Section: Introductionmentioning
confidence: 99%
“…Another problem we analyze is interpolation (widely used in program verification [22,23,24,16,18]). Intuitively, interpolants can be used for describing separations between the sets of "good" and "bad" states; they can help to discover relevant predicates in predicate abstraction with refinement and for over-approximation in model checking.…”
Section: Introductionmentioning
confidence: 99%
“…The first algorithms for interpolant generation in program verification required explicit constructions of proofs [19,23], which in general is a relatively difficult task. In [18] the existence of ground interpolants for arbitrary formulae w.r.t. a theory T is studied.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation