Making symbolic execution promising by learning aggressive state-pruning strategy

Sooyoung Cha, Hakjoo Oh

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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 languageEnglish
Title of host publicationESEC/FSE 2020 - Proceedings of the 28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering
EditorsPrem Devanbu, Myra Cohen, Thomas Zimmermann
PublisherAssociation for Computing Machinery, Inc
Pages147-158
Number of pages12
ISBN (Electronic)9781450370431
DOIs
Publication statusPublished - 2020 Nov 8
Event28th 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 82020 Nov 13

Publication series

NameESEC/FSE 2020 - Proceedings of the 28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering

Conference

Conference28th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2020
Country/TerritoryUnited States
CityVirtual, Online
Period20/11/820/11/13

Keywords

  • Dynamic Symbolic Execution
  • Online Learning

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Making symbolic execution promising by learning aggressive state-pruning strategy'. Together they form a unique fingerprint.

Cite this