Loading [a11y]/accessibility-menu.js
Reinforcement Learning Guided Symbolic Execution | IEEE Conference Publication | IEEE Xplore

Reinforcement Learning Guided Symbolic Execution


Abstract:

Symbolic execution is an indispensable technique for software testing and program analysis. Path-explosion is one of the key challenges in symbolic execution. To relieve ...Show More

Abstract:

Symbolic execution is an indispensable technique for software testing and program analysis. Path-explosion is one of the key challenges in symbolic execution. To relieve the challenge, this paper leverages the Q-learning algorithm to guide symbolic execution. Our guided symbolic execution technique focuses on generating a test input for triggering a particular statement in the program. In our approach, we first obtain the dominators with respect to a particular statement with static analysis. Such dominators are the statements that have to be visited before reaching the particular statement. Then we start the symbolic execution with the branch choice controlled by the policy in Q-learning. Only when symbolic execution encounters a dominator, it returns a positive reward to Q-learning. Otherwise, it will return a negative reward. And we update the Q-table in Q-learning accordingly. Our initial evaluation results indicate that in average more than 90% of exploration paths and instructions are reduced for reaching the target statement compared with the default search strategy in KLEE, which shows the promise of this work.
Date of Conference: 18-21 February 2020
Date Added to IEEE Xplore: 02 April 2020
ISBN Information:
Print on Demand(PoD) ISSN: 1534-5351
Conference Location: London, ON, Canada

References

References is not available for this document.