Abstract
We present HOMI, a new technique to enhance symbolic execution by maintaining only a small number of promising states. In practice, symbolic execution typically maintains as many states as possible in a fear of losing important states. In this paper, however, we show that only a tiny subset of the states plays a significant role in increasing code coverage or reaching bug points. Based on this observation, HOMI aims to minimize the total number of states while keeping "promising"states during symbolic execution. We identify promising states by a learning algorithm that continuously updates the probabilistic pruning strategy based on data accumulated during the testing process. Experimental results show that HOMI greatly increases code coverage and the ability to find bugs of KLEE on open-source C programs.
Original language | English |
---|---|
Title of host publication | ESEC/FSE 2020 - Proceedings of the 28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering |
Editors | Prem Devanbu, Myra Cohen, Thomas Zimmermann |
Publisher | Association for Computing Machinery, Inc |
Pages | 147-158 |
Number of pages | 12 |
ISBN (Electronic) | 9781450370431 |
DOIs | |
Publication status | Published - 2020 Nov 8 |
Event | 28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2020 - Virtual, Online, United States Duration: 2020 Nov 8 → 2020 Nov 13 |
Publication series
Name | ESEC/FSE 2020 - Proceedings of the 28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering |
---|
Conference
Conference | 28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2020 |
---|---|
Country/Territory | United States |
City | Virtual, Online |
Period | 20/11/8 → 20/11/13 |
Bibliographical note
Publisher Copyright:© 2020 ACM.
Keywords
- Dynamic Symbolic Execution
- Online Learning
ASJC Scopus subject areas
- Software