Goal-directed reasoning for specification-based data structure repair

被引:26
作者
Demsky, Brian [1 ]
Rinard, Martin C.
机构
[1] Univ Calif Irvine, Dept Elect Engn & Comp Sci, Irvine, CA 92697 USA
[2] MIT, Comp Sci & Artificial Intelligence Lab, Stata Ctr, Cambridge, MA 02139 USA
关键词
testing and debugging; language constructs and features;
D O I
10.1109/TSE.2006.122
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:931 / 951
页数:21
相关论文
共 56 条
  • [1] ACCETTA M, 1986, P USENIX SUMM C
  • [2] ANDERSON T, 1976, P 2 INT C SOFTW ENG, P447
  • [3] [Anonymous], 2002, UCBCSD021175
  • [4] [Anonymous], chkdsk.
  • [5] [Anonymous], 1996, ARIANE 5 FLIGHT 501
  • [6] Avizienis, 1995, SOFTWARE FAULT TOLER, V3, P23
  • [7] Basic concepts and taxonomy of dependable and secure computing
    Avizienis, A
    Laprie, JC
    Randell, B
    Landwehr, C
    [J]. IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2004, 1 (01) : 11 - 33
  • [8] Recursive restartability: Turning the reboot sledgehammer into a scalpel
    Candea, G
    Fox, A
    [J]. EIGHTH WORKSHOP ON HOT TOPICS IN OPERATING SYSTEMS, PROCEEDINGS, 2001, : 125 - 130
  • [9] CERI S, 1990, VERY LARGE DATA BASES, P566
  • [10] AUTOMATIC-GENERATION OF PRODUCTION RULES FOR INTEGRITY MAINTENANCE
    CERI, S
    FRATERNALI, P
    PARABOSCHI, S
    TANCA, L
    [J]. ACM TRANSACTIONS ON DATABASE SYSTEMS, 1994, 19 (03): : 367 - 422