• DocumentCode
    841071
  • Title

    Goal-Directed Reasoning for Specification-Based Data Structure Repair

  • Author

    Demsky, Brian ; Rinard, Martin C.

  • Author_Institution
    Dept. of Electr. Eng. & Comput. Sci., California Univ., Irvine, CA
  • Volume
    32
  • Issue
    12
  • fYear
    2006
  • Firstpage
    931
  • Lastpage
    951
  • Abstract
    Software errors and hardware failures can cause data structures in running programs to violate key data structure consistency properties. As a result of this violation, the program may produce unacceptable results or even fail. We present a new data structure repair system. This system accepts a specification of data structure consistency properties stated in terms of an abstract set-and relation-based model of the data structures in the running program. It then automatically generates a repair algorithm that, during the execution of the program, detects and repairs any violations of these constraints. The goal is to enable the program to continue to execute acceptably in the face of otherwise crippling data structure corruption errors. We have applied our system to repair inconsistent data structures in five applications: CTAS (an air traffic control system), AbiWord (an open source word processing program), Freeciv (an interactive multiplayer game), a parallel x86 emulator, and a simplified Linux file system. Our results indicate that the generated repair algorithms can effectively repair inconsistent data structures in these applications to enable the applications to continue to operate successfully in cases where the original application would have failed. Without repair, all of the applications fail
  • Keywords
    data structures; formal specification; inference mechanisms; system recovery; AbiWord; CTAS; Freeciv; air traffic control system; goal-directed reasoning; hardware failure; interactive multiplayer game; open source word processing program; parallel x86 emulator; simplified Linux file system; software error; specification-based data structure repair algorithm; Air traffic control; Application software; Data structures; Error correction codes; Face detection; File systems; Hardware; Linux; Software systems; Text processing; Testing and debugging; language constructs and features.;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2006.122
  • Filename
    4016571