Whole Program Paths Generation Method
Wei Jia, Yawen Wang, Yuwei Zhang, Yunzhan Gong · 2018
Path-oriented testing is mostly performed on function units, often failing to generate software-level interprocedural paths. Currently, some methods based on the interprocedural control flow graph have been proposed to generate interprocedural paths, but they require too much memory in the case of the large and complex software so that interprocedural paths cannot be generated. The whole program path is an interprocedural path from the software's entry node to the exit node. This paper proposes a top-down method, which adopts the idea of divide and conquer and backtracking to convert the whole program paths generation into the paths generation within functions. At the same time, to avoid the path explosion, this method generates the basis path set of the software instead of generating all paths of the software and covers all the statements and branches of the software with the basic path test, which satisfies the whole program paths coverage criterion. Experimental results show that the proposed method can directly generate whole program paths for the software under test without generating interprocedural control flow graph, which is of fundamental importance for interprocedural infeasible path detection and test case generation.