Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
4-2024
Abstract
Concolic execution is a powerful program analysis technique for code path exploration. Despite recent advances that greatly improved the efficiency of concolic execution engines, path constraint solving remains a major bottleneck of concolic testing. An intelligent scheduler for inputs/branches becomes even more crucial. Our studies show that the previously under-studied branch-flipping policy adopted by state-of-the-art concolic execution engines has several limitations. We propose to assess each branch by its potential for new code coverage from a global view, concerning the path divergence probability at each branch. To validate this idea, we implemented a prototype Marco and evaluated it against the state-of-the-art concolic executor on 30 real-world programs from Google’s Fuzzbench, Binutils, and UniBench. The result shows that Marco can outperform the baseline approach and make continuous progress after the baseline approach terminates.
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
2024 IEEE/ACM 46th International Conference on Software Engineering (ICSE 2024): Lisbon, April 14-20: Proceedings
First Page
1
Last Page
12
ISBN
9798400702174
Identifier
10.1145/3597503.3623301
Publisher
ACM
City or Country
New York
Citation
HU, Jie; DUAN, Yue; and YIN, Heng.
Marco: A stochastic asynchronous concolic explorer. (2024). 2024 IEEE/ACM 46th International Conference on Software Engineering (ICSE 2024): Lisbon, April 14-20: Proceedings. 1-12.
Available at: https://ink.library.smu.edu.sg/sis_research/8720
Copyright Owner and License
Authors
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1145/3597503.3623301