Path Exploration Based on Symbolic Output
Efficient program path exploration is important for many software engineering activities such as testing, debugging and verification. However, enumerating all paths of a program is prohibitively expensive. In this paper, the authors develop a partitioning of program paths based on the program output. Two program paths are placed in the same partition if they derive the output similarly, that is, the symbolic expression connecting the output with the inputs is the same in both paths. Their grouping of paths is gradually created by a smart path exploration. Their experiments show the benefits of the proposed path exploration in test-suite construction.