In recent decades, automatic program repair has been advancing consistently according to benchmarks. However, its use in practice is still limited due to the difficulty in choosing a desired patch among the generated pool.
This work introduces a method to logically differentiate between patches through symbolic execution. The technique generates a tree of decisions for developers to reason between patches based on the program's inputs and semi-automatically captured outputs. Its implementation Psychic based on KLEE is evaluated on patches automatically generated for toy programs in the IntroClass benchmark, showing promising preliminaries.
Publisher
Ulsan National Institute of Science and Technology