• DocumentCode
    1522904
  • Title

    Towards Better Fault Localization: A Crosstab-Based Statistical Approach

  • Author

    Wong, W. Eric ; Debroy, Vidroha ; Xu, Dianxiang

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Texas at Dallas, Dallas, TX, USA
  • Volume
    42
  • Issue
    3
  • fYear
    2012
  • fDate
    5/1/2012 12:00:00 AM
  • Firstpage
    378
  • Lastpage
    396
  • Abstract
    It is becoming prohibitively expensive and time consuming, as well as tedious and error-prone, to perform debugging manually. Among the debugging activities, fault localization has been one of the most expensive, and therefore, a large number of fault-localization techniques have been proposed over the recent years. This paper presents a crosstab-based statistical technique that makes use of the coverage information of each executable statement and the execution result (success or failure) with respect to each test case to localize faults in an effective and efficient manner. A crosstab is constructed for each executable statement, and a statistic is computed to determine the suspiciousness of the corresponding statement. Statements with a higher suspiciousness are more likely to contain bugs and should be examined before those with a lower suspiciousness. Case studies are performed on both small- (the Siemens and Unix suites) and large-sized programs (space, grep, gzip, and make), and results suggest that the crosstab-based technique (CBT) is more effective (in terms of a smaller percentage of executable statements that have to be examined until the first statement containing the fault is reached) than other techniques, such as Tarantula. Further studies using the Siemens suite reveal that the proposed technique is also more effective at locating faults than other statistically oriented techniques, such as SOBER and Liblit05. Additional experiments evaluate the CBT from other perspectives, such as its efficiency in terms of time taken, its applicability to object-oriented languages (on a very large Java program: Ant), and its sensitivity to test suite size, and demonstrate its superior performance.
  • Keywords
    Java; Unix; program debugging; software fault tolerance; statistical analysis; Ant; Java program; Siemens suites; Unix suites; crosstab-based statistical approach; debugging; fault localization; grep program; gzip program; make program; object-oriented language; space program; Computer bugs; Debugging; Instruments; Noise measurement; Probability; Software; Statistical analysis; Crosstab; debugging aids; software fault localization; statistical methods; testing and debugging;
  • fLanguage
    English
  • Journal_Title
    Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1094-6977
  • Type

    jour

  • DOI
    10.1109/TSMCC.2011.2118751
  • Filename
    5772029