2010
DOI: 10.1007/978-3-642-11957-6_14
|View full text |Cite
|
Sign up to set email alerts
|

Fluid Updates: Beyond Strong vs. Weak Updates

Abstract: Abstract. We describe a symbolic heap abstraction that unifies reasoning about arrays, pointers, and scalars, and we define a fluid update operation on this symbolic heap that relaxes the dichotomy between strong and weak updates. Our technique is fully automatic, does not suffer from the kind of state-space explosion problem partition-based approaches are prone to, and can naturally express properties that hold for non-contiguous array elements. We demonstrate the effectiveness of this technique by evaluating… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
120
0

Year Published

2010
2010
2021
2021

Publication Types

Select...
8

Relationship

2
6

Authors

Journals

citations
Cited by 88 publications
(120 citation statements)
references
References 31 publications
(39 reference statements)
0
120
0
Order By: Relevance
“…We evaluate the randomized search algorithms on the benchmarks of [15] in Table 3. The VCs for these benchmarks were obtained from the repository of the competition on software verification.…”
Section: Discussionmentioning
confidence: 99%
See 2 more Smart Citations
“…We evaluate the randomized search algorithms on the benchmarks of [15] in Table 3. The VCs for these benchmarks were obtained from the repository of the competition on software verification.…”
Section: Discussionmentioning
confidence: 99%
“…1 We have omitted benchmarks with bugs from the original benchmark set; these bugs are triggered during data generation. The second column shows the time taken to analyze these benchmarks using the fluid updates abstraction in [15]. Using a specialized abstract domain leads to a very efficient analysis, but the scope of the analysis is limited to array manipulating programs that have invariants given by Eqn.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…Instead, they use uninterpreted functions to map a elements of a key/attribute type to a natural number that is the array index containing the value. The value arrays are then represented and manipulated using fluid updates [9]. Uninterpreted functions: There are several analyses [3,13] that use uninterpreted functions to combine multiple abstract domains.…”
Section: Related Workmentioning
confidence: 99%
“…Hence, Mistral's interface is designed to be useful for program analysis systems that incrementally construct formulas from existing formulas and make many intermediary satisfiability or validity queries. Examples of such systems include, but are not limited to, [10,16,[7][8][9]17]. …”
Section: Integration With Program Analysismentioning
confidence: 99%