Intelligent Constraint Classification for Symbolic Execution

Forward symbolic execution is a powerful systematic software analysis technique, but suffers from the high cost of constraint solving. During symbolic execution, off-the-shelf constraint solvers are used to check the satisfiability of path conditions whenever they are updated. However, the satisfiab...

Full description

Saved in:
Bibliographic Details
Published in2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) pp. 144 - 154
Main Authors Wen, Junye, Mahmud, Tarek, Che, Meiru, Yan, Yan, Yang, Guowei
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.03.2023
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Forward symbolic execution is a powerful systematic software analysis technique, but suffers from the high cost of constraint solving. During symbolic execution, off-the-shelf constraint solvers are used to check the satisfiability of path conditions whenever they are updated. However, the satisfiability information is sufficient for path exploration, while the concrete solutions are needed only for special cases, e.g., when a property violation is detected. Thus, symbolic execution can be made more efficient by leveraging rapid constraint classification instead of time-consuming constraint solving when the concrete solutions are not necessary. This paper introduces ICON, a novel approach to scaling symbolic execution with intelligent constraint classification, where neural networks are utilized to classify path conditions for satisfiability. Experimental evaluation shows ICON is highly accurate in classifying path conditions, is faster than state-of-the-art techniques for conventional constraint solving, learning based constraint solving, and constraint solution reuse, and enables more efficient symbolic execution.
ISSN:2640-7574
DOI:10.1109/SANER56733.2023.00023