• DocumentCode
    561381
  • Title

    Automated error localization and correction for imperative programs

  • Author

    Könighofer, Robert ; Bloem, Roderick

  • Author_Institution
    Inst. for Appl. Inf. Process. & Commun. (IAIK), Graz Univ. of Technol., Graz, Austria
  • fYear
    2011
  • fDate
    Oct. 30 2011-Nov. 2 2011
  • Firstpage
    91
  • Lastpage
    100
  • Abstract
    In this paper, we present a novel debugging method for imperative software, featuring both automatic error localization and correction. The input of our method is an incorrect program and a corresponding specification, which can be given in form of assertions or as a reference implementation. We use symbolic execution for program analysis. This allows for a wide range of different trade-offs between resource requirements and accuracy of results. Our error localization method rests upon model-based diagnosis and SMT-solving. Error correction is done using a template-based approach which ensures that the computed repairs are readable. Our method can handle all sorts of incorrect expressions, not only under a single-fault assumption but also for multiple faults. Finally, we present experimental results, where an implementation for C programs is used to debug mutants of the TCAS case study of the Siemens suite.
  • Keywords
    C language; program debugging; program diagnostics; C program; SMT-solving; automated error correction; automated error localization; debugging method; imperative program; imperative software; program analysis; resource requirement; symbolic execution; Computational modeling; Concrete; Debugging; Error correction; Maintenance engineering; Software; Vectors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Formal Methods in Computer-Aided Design (FMCAD), 2011
  • Conference_Location
    Austin, TX
  • Print_ISBN
    978-1-4673-0896-0
  • Type

    conf

  • Filename
    6148916