Companion Proceedings of the 36th International Conference on Software Engineering 2014
DOI: 10.1145/2591062.2594450
|View full text |Cite
|
Sign up to set email alerts
|

Exploiting undefined behaviors for efficient symbolic execution

Abstract: Symbolic execution is an important and popular technique used in several software engineering tools for test case generation, debugging and program analysis. As such improving the performance of symbolic execution can have huge impact on the effectiveness of such tools. In this paper, we present a technique to systematically introduce undefined behaviors during compilation to speed up the subsequent symbolic execution of the program. We have implemented our technique inside LLVM and tested with an existing sym… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2

Citation Types

0
2
0

Year Published

2015
2015
2021
2021

Publication Types

Select...
5
1

Relationship

0
6

Authors

Journals

citations
Cited by 6 publications
(2 citation statements)
references
References 24 publications
0
2
0
Order By: Relevance
“…Overify [Wagner et al 2013] proposes a set of compiler optimisations to speed symex. Sharma et al [Sharma 2014] exploit these results and introduce undefined behaviour to trigger various compiler optimisations that speed up symex [Cadar 2015]. Under-Constrained Symex [Ramos and Engler 2015] operates on each function in a program individually.…”
Section: The State Of the Art In Symbolic Executionmentioning
confidence: 99%
“…Overify [Wagner et al 2013] proposes a set of compiler optimisations to speed symex. Sharma et al [Sharma 2014] exploit these results and introduce undefined behaviour to trigger various compiler optimisations that speed up symex [Cadar 2015]. Under-Constrained Symex [Ramos and Engler 2015] operates on each function in a program individually.…”
Section: The State Of the Art In Symbolic Executionmentioning
confidence: 99%
“…Recently, symbolic execution and concolic execution [14][15][16] technique and tools have been widely explored. Tools such as KLEE [17], SAGE [18], JPF-SE [19], S2E [20], jCUTE [21], BitBlaze [22], Pex [23] and Pathgrind [24] are just some of the symbolic execution engines currently used successfully in academia and in industry. These tools have demonstrated great advantages in software testing and security verification [25,26].…”
Section: B Symbolic Execution On Hardware Domainmentioning
confidence: 99%