Tehnički Vjesnik (Jan 2019)
Inter-Procedural Diagnosis Path Generation for Automatic Confirmation of Program Suspected Faults
Abstract
Static analysis plays an important role in the software testing field. However, the initial results of static analysis always have a large number of false positives, which need to be confirmed by manual or automatic tools. In this paper, a novel approach is proposed, which combines the demand-driven analysis and the inter-procedural dataflow analysis, and generates the inter-procedural diagnosis paths to help the testers confirm the suspected faults automatically. In our approach, first, the influencing nodes of suspected fault are calculated. Then, the CFG of each associated procedure is simplified according to the influencing nodes. Finally, the “section-whole” strategy is employed to generate the inter-procedural diagnosis path. In order to illustrate and verify our approach, an experimental study is performed on the five open source C language projects. The results show that compared with the traditional approach, our approach requires less time and can generate more inter-procedural diagnosis paths in the given suspected faults.
Keywords