Improving the Efficiency and Accuracy of Path-Sensitive Defect Detecting

Zhao Yun · Chinese Journal of Computers · 2011

While detecting defects with path-sensitivity,the defect state contains all data flow information of the current control flow vex,which might lower the efficiency by the defect irrespective data flow information.Further,in order to avoid the path explosion while full-path-sensitive analysis,the defect states encountering the control flow confluent nodes might be simply merged.The preliminary state-merging strategy might lead to an accuracy loss which could induce false positives.To address the above issues,this paper proposes a new program slicing algorithm based on defect patterns.The slice criteria include defect feature and path condition,and the source program is sliced by the inclusion relation between the CFG dataflow information and the slice criteria.The sliced program not only slices the defect irrespective codes,but also is totally equivalent to the original program,which improves the efficiency.In order to further reduce the false positives of path-sensitive analysis,this paper presents a refined state-merging strategy to diminish the accuracy loss,which selectively merges the defect states by adding path condition as state attribute.The authors have implemented the technique in DTSGCC(Defect Testing System for GCC),a software defect detecting tool for GCC projects in Linux.DTSGCC is applied to validate plenty of GCC open source projects.Experimental results suggest that applying the technique to path-sensitive defect detecting analysis improves the efficiency,at the same time reduce potential false positives.

Read the paper · More papers on PaperTik