• DocumentCode
    3532457
  • Title

    PED: Proof-Guided Error Diagnosis by Triangulation of Program Error Causes

  • Author

    Balakrishnan, Gogul ; Ganai, Malay

  • Author_Institution
    NEC Labs., Princeton, NJ
  • fYear
    2008
  • fDate
    10-14 Nov. 2008
  • Firstpage
    268
  • Lastpage
    278
  • Abstract
    Error diagnosis, which is the process of identifying the root causes of bugs in software, is a time-consuming process. In general, it is hard to automate error diagnosis due to the unavailability of a full ldquogoldenrdquo specification of the system behavior in realistic software development. We propose a repair-based proof-guided error diagnosis (PED) framework, that provides a first-line attack to find the root causes of the errors in programs by pin-pointing the possible error-sites (buggy statements), and suggesting possible repair fixes. Our framework does not need a complete system specification. Instead, it automatically ldquominesrdquo partial specifications of the intended program behavior from the proofs obtained by static program analysis for standard safety checkers. It uses these partial specifications along with the multiple error traces provided by a model checker to narrow down the possible error sites. It also exploits inherent correlations among the program statements. To capture common programming mistakes, it directs the search to those statements that could be buggy due to simple copy-paste operations or syntactic mistakes such as using les instead of <. To further improve debugging, it prioritizes the repair solutions. We implemented and integrated the PED tool as a plug-in module to a software verification framework. We show the efficacy of such a framework on public benchmarks.
  • Keywords
    error handling; formal specification; program debugging; program diagnostics; program verification; first-line attack; formal specification; model checker; program debugging; program error cause triangulation; repair-based proof-guided error diagnosis; software bug; software development; software verification; standard safety checker; static program analysis; Computer bugs; Debugging; Electronic mail; Error correction; Laboratories; National electric code; Programming; Safety; Software engineering; USA Councils; Abstract Interpretation; Error Diagnosis; Fault Localization; Model Checking; Program Repair; Static Analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering and Formal Methods, 2008. SEFM '08. Sixth IEEE International Conference on
  • Conference_Location
    Cape Town
  • Print_ISBN
    978-0-7695-3437-4
  • Type

    conf

  • DOI
    10.1109/SEFM.2008.35
  • Filename
    4685814