Abstract
We present SYMTUNER, a novel technique to automatically tune external parameters of symbolic execution. Practical symbolic execution tools have important external parameters (e.g., symbolic arguments, seed input) that critically affect their performance. Due to the huge parameter space, however, manually customizing those parameters is notoriously difficult even for experts. As a consequence, symbolic execution tools have typically been used in a suboptimal manner that, for example, simply relies on the default parameter settings of the tools and loses the opportunity for better performance. In this paper, we aim to change this situation by automatically configuring symbolic execution parameters. With Symtuner that takes parameter spaces to be tuned, symbolic executors are run without manual parameter configurations; instead, appropriate parameter values are learned and adjusted during symbolic execution. To achieve this, we present a learning algorithm that observes the behavior of symbolic execution and accordingly updates the sampling probability of each parameter space. We evaluated Symtuner with KLEE on 12 open-source C programs. The results show that Symtuner increases branch coverage of KLEE by 56% on average and finds 8 more bugs than KLEE with its default parameters over the latest releases of the programs.
Original language | English |
---|---|
Title of host publication | Proceedings - 2022 ACM/IEEE 44th International Conference on Software Engineering, ICSE 2022 |
Publisher | IEEE Computer Society |
Pages | 2068-2079 |
Number of pages | 12 |
ISBN (Electronic) | 9781450392211 |
DOIs | |
Publication status | Published - 2022 |
Event | 44th ACM/IEEE International Conference on Software Engineering, ICSE 2022 - Pittsburgh, United States Duration: 2022 May 22 → 2022 May 27 |
Publication series
Name | Proceedings - International Conference on Software Engineering |
---|---|
Volume | 2022-May |
ISSN (Print) | 0270-5257 |
Conference
Conference | 44th ACM/IEEE International Conference on Software Engineering, ICSE 2022 |
---|---|
Country/Territory | United States |
City | Pittsburgh |
Period | 22/5/22 → 22/5/27 |
Bibliographical note
Publisher Copyright:© 2022 ACM.
Keywords
- Software Testing
- Symbolic Execution
ASJC Scopus subject areas
- Software