• DocumentCode
    176239
  • Title

    Fault Localization for Make-Based Build Crashes

  • Author

    Al-Kofahi, J. ; Hung Viet Nguyen ; Nguyen, T.N.

  • Author_Institution
    Electr. & Comput. Eng. Dept., Iowa State Univ., Ames, IA, USA
  • fYear
    2014
  • fDate
    Sept. 29 2014-Oct. 3 2014
  • Firstpage
    526
  • Lastpage
    530
  • Abstract
    In large-scale software projects, build code has a high level of complexity, churn rate, and defect proneness. While it is desirable to have automated tools to help developers in localizing faults in build code, it is challenging to build such tools due to the dynamic nature of build code. Existing automatic fault localization methods focus on traditional code and none of them has such support for build code. This paper introduces MkFault, a novel automatic tool/method to localize faults in build code that cause run-time build failures. Given a test case that causes a run-time crash in the execution of a Make file, it returns a ranked list of statements in the Make file with their suspiciousness scores. MkFault records the evaluation traces from Make code to identify the corresponding concrete build rules and the execution traces of those rules. It then uses those traces and its novel Bayesian-like rating algorithm to give suspiciousness scores to the original statements in the Make file. Our empirical evaluation on real faults in several open-source projects has shown that MkFault can achieve high accuracy and help reduce a large percentage of the lines of code that developers need to examine.
  • Keywords
    Bayes methods; fault diagnosis; program debugging; project management; public domain software; software development management; Bayesian-like rating algorithm; Make code; Makefile; MkFault; automated tools; automatic fault localization methods; churn rate; defect proneness; large-scale software projects; make-based build crashes; open-source projects; run-time build failures; suspiciousness scores; Accuracy; Complexity theory; Computer crashes; Concrete; Instruments; Java; Software; build code; build crashes; build failure; fault localization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on
  • Conference_Location
    Victoria, BC
  • ISSN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSME.2014.87
  • Filename
    6976131