2011
DOI: 10.1007/978-3-642-22110-1_49
|View full text |Cite
|
Sign up to set email alerts
|

KLOVER: A Symbolic Execution and Automatic Test Generation Tool for C++ Programs

Abstract: Abstract. We present the first symbolic execution and automatic test generation tool for C++ programs. First we describe our effort in extending an existing symbolic execution tool for C programs to handle C++ programs. We then show how we made this tool generic, efficient and usable to handle real-life industrial applications. Novel features include extended symbolic virtual machine, library optimization for C and C++, object-level execution and reasoning, interfacing with specific type of efficient solvers, … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
44
0
1

Year Published

2011
2011
2021
2021

Publication Types

Select...
6
2

Relationship

4
4

Authors

Journals

citations
Cited by 66 publications
(45 citation statements)
references
References 5 publications
0
44
0
1
Order By: Relevance
“…SymJS interprets them symbolically, and optimizes the calls so as to reduce the overhead in symbolic execution. Some optimizations are similar to those described in [14]. The processed libraries include Number, String, Array, Global, String, Math, and Regular Expression.…”
Section: Symbolic Execution Enginementioning
confidence: 99%
“…SymJS interprets them symbolically, and optimizes the calls so as to reduce the overhead in symbolic execution. Some optimizations are similar to those described in [14]. The processed libraries include Number, String, Array, Global, String, Math, and Regular Expression.…”
Section: Symbolic Execution Enginementioning
confidence: 99%
“…Recently, the technique has found renewed interest in the formal-methods community due to new algorithmic developments and progress in decision procedures. Current applications of symbolic execution are diverse and include automated test input generation [13], [29], invariant detection [19], model checking [11], and proving program correctness [28,7]. We believe there is a need for a formal and generic approach to symbolic execution, on top of which language-independent program analysis tools can be developed.…”
Section: Introductionmentioning
confidence: 99%
“…There are also three more typical requirements: (1) strings are converted into numeric values for back-end computations; (2) string values are constrained through regular expressions; and (3) unsatisfiable hybrid constraints should be identified quickly. This poses unique challenges to many symbolic execution tools [5,12,13,17] which usually handle only numeric constraints well.…”
Section: Introductionmentioning
confidence: 99%