2011
DOI: 10.1145/1993316.1993566
|View full text |Cite
|
Sign up to set email alerts
|

On inter-procedural analysis of programs with lists and data

Abstract: We address the problem of automatic synthesis of assertions on sequential programs with singly-linked lists containing data over infinite domains such as integers or reals. Our approach is based on an accurate abstract inter-procedural analysis. Program configurations are represented by graphs where nodes represent list segments without sharing. The data in these list segments are characterized by constraints in abstract domains. We consider a domain where constraints are in a universally quantified fragment o… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
22
0

Year Published

2012
2012
2023
2023

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 17 publications
(22 citation statements)
references
References 31 publications
0
22
0
Order By: Relevance
“…To allow the fixed-point iteration to converge, in addition to the abstraction operators, specifically designed join and widen operators over the combined domain are also proposed. 3 At the beginning, we initialise the iteration variable (i) and the states to record the computed pre-and postconditions (Pre i and Post i ). We use emp as the initial precondition because we know nothing about the footprint of the code.…”
Section: Analysis Algorithmmentioning
confidence: 99%
See 2 more Smart Citations
“…To allow the fixed-point iteration to converge, in addition to the abstraction operators, specifically designed join and widen operators over the combined domain are also proposed. 3 At the beginning, we initialise the iteration variable (i) and the states to record the computed pre-and postconditions (Pre i and Post i ). We use emp as the initial precondition because we know nothing about the footprint of the code.…”
Section: Analysis Algorithmmentioning
confidence: 99%
“…Hackett and Rugina [17] can deal with AVL-trees but is customised to handle only tree-like structures with height property. Bouajjani et al [3,4] propose a program analysis in an abstract domain with SL3 (Singly-Linked List Logic) and size, sortedness and multi-set properties. However, their heap domain is restricted to singly-linked list only, and their shape analysis is separated from numerical and mutli-set analyses.…”
Section: Related Work and Conclusionmentioning
confidence: 99%
See 1 more Smart Citation
“…These logics are usually FOLs with restricted quantifiers, and usually are decided using SMT solvers. The logics Lisbq [22] and CSL [9,10] offer such reasoning with restricted reachability predicates and quantification; see also the logics in [1,7,30,[33][34][35]. Strand is a relatively expressive logic that can handle some data-structure properties (like BSTs) and admits decidable fragments [25,26], but is again not expressive enough for more complex properties of inductive datastructures.…”
Section: Related Workmentioning
confidence: 99%
“…Combined shape-data properties are both difficult for the programmer to maintain and challenging for fully-automatic static analysis to verify. While modern shape analyzers can reason effectively about pointer-shape properties-especially for structures with limited sharing, such as lists and trees-shape-data analyzers are limited by their dependency on and interaction with base data-value abstract domains or solvers [6,7,16,17].…”
Section: Introductionmentioning
confidence: 99%