2012
DOI: 10.1007/978-3-642-32759-9_13
|View full text |Cite
|
Sign up to set email alerts
|

Collaborative Verification and Testing with Explicit Assumptions

Abstract: Abstract. Many mainstream static code checkers make a number of compromises to improve automation, performance, and accuracy. These compromises include not checking certain program properties as well as making implicit, unsound assumptions. Consequently, the results of such static checkers do not provide definite guarantees about program correctness, which makes it unclear which properties remain to be tested. We propose a technique for collaborative verification and testing that makes compromises of static ch… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

2
43
0

Year Published

2014
2014
2023
2023

Publication Types

Select...
7
1

Relationship

1
7

Authors

Journals

citations
Cited by 58 publications
(46 citation statements)
references
References 25 publications
2
43
0
Order By: Relevance
“…One active area of research is the combination of static analysis and testing, e.g. [4,9,12,14,15,18]. A direct comparison of our work with those would not be fully fair as we have different objectives.…”
Section: Related Workmentioning
confidence: 99%
“…One active area of research is the combination of static analysis and testing, e.g. [4,9,12,14,15,18]. A direct comparison of our work with those would not be fully fair as we have different objectives.…”
Section: Related Workmentioning
confidence: 99%
“…In our previous work, an explicit assumption of the form assumed P as a expresses that an analysis assumed property P to hold at this point in the code without checking it [6,8,5,30]. The unique assumption identifier a may be used to refer to this explicit assumption at other program points.…”
Section: Verification Annotationsmentioning
confidence: 99%
“…As demonstrated in this section, the encoded intermediate results make it possible to ignore certain parts of the program state or even entire program paths. Our previous work has specifically shown that this instrumentation is suitable for subsequent analyses, in the context of dynamic test generation [6,8] and deductive verification [25].…”
Section: Bounding Spurious Errorsmentioning
confidence: 99%
See 1 more Smart Citation
“…Tools such as DSD-Crasher [12] and our EVE [33] integrate testing and static checking to find when the errors reported by the latter are spurious. Collaborative verification [9] is also based on the combination of testing and static verification, and on the explicit formalization of the restrictions of each tool used in the combination. Two-step verification also integrates the results of different techniques, with the main purpose of improving error reporting and reducing the number of annotations needed, rather than complementing the limitations of specific techniques.…”
Section: Related Workmentioning
confidence: 99%