2010 IEEE 21st International Symposium on Software Reliability Engineering 2010
DOI: 10.1109/issre.2010.27
|View full text |Cite
|
Sign up to set email alerts
|

Optimizing Incremental Scope-Bounded Checking with Data-Flow Analysis

Abstract: Abstract-We present a novel approach to optimize incremental scope-bounded checking of programs using a relational constraint solver. Given a program and its correctness specification, scope-bounded checking encodes control-flow and data-flow of bounded code segments into declarative formulas and uses constraint solvers to search for correctness violations. For non-trivial programs, the formulas are often complex and represent a heavy workload that can choke the solvers. To scale scope-bounded checking, our pr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
6
0

Year Published

2011
2011
2017
2017

Publication Types

Select...
3
3
1

Relationship

1
6

Authors

Journals

citations
Cited by 8 publications
(6 citation statements)
references
References 35 publications
0
6
0
Order By: Relevance
“…Slicing is commonly used to reduce the size of BMC instances by removing variables that are syntactically irrelevant to a property (e.g., [19], [18]). It is also known as 'cone of influence' reduction, where the set of relevant variables expands with the size of the slice, diminishing its effectiveness (e.g., despite slicing, CBMC and ESBMC frequently run out of time/memory).…”
Section: E Evaluation Of Blitz Featuresmentioning
confidence: 99%
“…Slicing is commonly used to reduce the size of BMC instances by removing variables that are syntactically irrelevant to a property (e.g., [19], [18]). It is also known as 'cone of influence' reduction, where the set of relevant variables expands with the size of the slice, diminishing its effectiveness (e.g., despite slicing, CBMC and ESBMC frequently run out of time/memory).…”
Section: E Evaluation Of Blitz Featuresmentioning
confidence: 99%
“…We start by discussing some tools that perform dataflow analyses on C programs [4,19]. Then, we comment about approaches that apply it for Java programs [12,27,30]. These papers use an approach similar to TACO in the sense they use Alloy as back-end but use dataflow analyses for different optimization purposes.…”
Section: Related Workmentioning
confidence: 99%
“…In [27] the authors propose a technique for optimizing an incremental scope-based model checking using a divide-and-solve approach as a mean to improve the scalability of bounded model checking approaches. To do that, they rely on a dataflow analysis (variable-definitions) to split the SATproblem into several simpler sub-problems.…”
Section: Related Workmentioning
confidence: 99%
“…In [34], parallel analysis of code is performed by splitting the program control flow graph and using JForge [8] (which relies on Kodkod) to analyze each slice. Note that, as in [33], parallelization occurs at the code level, not at the intermediate Alloy representation level. In [28], parallel analysis of Java code is performed by translating complete methods to Alloy.…”
Section: Related Workmentioning
confidence: 99%