Detecting Interprocedural Infeasible Paths Via Symbolic Propagation and Dataflow Analysis

Huiquan Gong,Yuwei Zhang,Ying Xing,Wei Jia
DOI: https://doi.org/10.1109/icsess47205.2019.9040767
2019-01-01
Abstract:Experimental evidence indicates that a majority of paths generated by static analysis tools are found to be infeasible. As structural testing is an integral part of many software testing activities, detecting infeasible paths at an early phase can greatly improve the efficiency of many structural testing techniques. Since existing approaches commonly handle infeasible paths from the function units, a novel approach is proposed in this paper to detect infeasible paths interprocedurally. We use a map data structure, called interprocedural symbolic-propagation mapping, to model the value-passing process at each call site along the generated interprocedural paths, and then a hybrid method is utilized to determine the feasibility of each given path on the fly, which combines interprocedural dataflow analysis with the symbolic propagation technique without applying constraint solvers. Experimental results prove the effectiveness of the proposed approach.
What problem does this paper attempt to address?