Artigo Revisado por pares

Goal-Directed Reasoning for Specification-Based Data Structure Repair

2006; IEEE Computer Society; Volume: 32; Issue: 12 Linguagem: Inglês

10.1109/tse.2006.122

ISSN

2326-3881

Autores

Brian Demsky, Martin Rinard,

Tópico(s)

Software Reliability and Analysis Research

Resumo

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

Referência(s)