On the value of static analysis for fault detection in software

被引:150
|
作者
Zheng, J [1 ]
Williams, L
Nagappan, N
Snipes, W
Hudepohl, JP
Vouk, MA
机构
[1] N Carolina State Univ, Dept Comp Sci, Raleigh, NC 27695 USA
[2] Microsoft Corp, Res, Redmond, WA 98052 USA
[3] Software Dependabil Design, Nortel Networks, Res Triangle Pk, NC 27709 USA
基金
美国国家科学基金会;
关键词
code inspections; walkthroughs;
D O I
10.1109/TSE.2006.38
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
No single software fault-detection technique is capable of addressing all fault-detection concerns. Similarly to software reviews and testing, static analysis tools ( or automated static analysis) can be used to remove defects prior to release of a software product. To determine to what extent automated static analysis can help in the economic production of a high-quality product, we have analyzed static analysis faults and test and customer-reported failures for three large-scale industrial software systems developed at Nortel Networks. The data indicate that automated static analysis is an affordable means of software fault detection. Using the Orthogonal Defect Classification scheme, we found that automated static analysis is effective at identifying Assignment and Checking faults, allowing the later software production phases to focus on more complex, functional, and algorithmic faults. A majority of the defects found by automated static analysis appear to be produced by a few key types of programmer errors and some of these types have the potential to cause security vulnerabilities. Statistical analysis results indicate the number of automated static analysis faults can be effective for identifying problem modules. Our results indicate static analysis tools are complementary to other fault-detection techniques for the economic production of a high-quality software product.
引用
收藏
页码:240 / 253
页数:14
相关论文
共 50 条
  • [1] Fault detection and analysis of control software for a mobile robot
    Lin, Jiliang
    Jiang, Jingping
    ISDA 2006: SIXTH INTERNATIONAL CONFERENCE ON INTELLIGENT SYSTEMS DESIGN AND APPLICATIONS, VOL 1, 2006, : 862 - 866
  • [2] Static decoupling in fault detection
    Niemann, H
    PROCEEDINGS OF THE 37TH IEEE CONFERENCE ON DECISION AND CONTROL, VOLS 1-4, 1998, : 1131 - 1136
  • [3] Static decoupling in fault detection
    Niemann, Henrik
    Proceedings of the IEEE Conference on Decision and Control, 1998, 1 : 1131 - 1136
  • [4] Static Probabilistic Timing Analysis with a Permanent Fault Detection Mechanism
    Chen, Chao
    Panerati, Jacopo
    Hafnaoui, Imane
    Beltrame, Giovanni
    2017 12TH IEEE INTERNATIONAL SYMPOSIUM ON INDUSTRIAL EMBEDDED SYSTEMS (SIES), 2017, : 115 - 124
  • [5] Software Vulnerability Detection Methodology Combined with Static and Dynamic Analysis
    Kim, Seokmo
    Kim, R. Young Chul
    Park, Young B.
    WIRELESS PERSONAL COMMUNICATIONS, 2016, 89 (03) : 777 - 793
  • [6] Software Vulnerability Detection Methodology Combined with Static and Dynamic Analysis
    Seokmo Kim
    R. Young Chul Kim
    Young B. Park
    Wireless Personal Communications, 2016, 89 : 777 - 793
  • [7] Automatic Bug Detection in Microcontroller Software by Static Program Analysis
    Fehnker, Ansgar
    Huuck, Ralf
    Schlich, Bastian
    Tapp, Michael
    SOFSEM 2009-THEORY AND PRACTICE OF COMPUTER SCIENCE, PROCEEDINGS, 2009, 5404 : 267 - +
  • [8] An integration of fault detection and correction processes in software reliability analysis
    Lo, Jung-Hua
    Huang, Chin-Yu
    JOURNAL OF SYSTEMS AND SOFTWARE, 2006, 79 (09) : 1312 - 1323
  • [9] Software reliability analysis incorporating fault detection and debugging activities
    Gokhale, SS
    Lyu, MR
    Trivedi, KS
    NINTH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 1998, : 202 - 211
  • [10] Bayesian Analysis for Software Reliability with Fault Detection and Correction Data
    Wang, Lujia
    Hu, Qingpei
    Xie, Min
    2015 IEEE 21ST PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING (PRDC), 2015, : 311 - 312