skip to main content
10.1145/1062455.1062499acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Data structure repair using goal-directed reasoning

Published: 15 May 2005 Publication History

Abstract

Data structure repair is a promising technique for enabling programs to execute successfully in the presence of otherwise fatal data structure corruption errors. Previous research in this field relied on the developer to write a specification to explicitly translate model repairs into concrete data structure repairs, raising the possibility of 1) incorrect translations causing the supposedly repaired concrete data structures to be inconsistent, and 2) repaired models with no corresponding concrete data structure representation.We present a new repair algorithm that uses goal-directed reasoning to automatically translate model repairs into concrete data structure repairs. This new repair algorithm eliminates the possibility of incorrect translations and repaired models with no corresponding representation as concrete data structures.

References

[1]
Center-tracon automation system. http://www.ctas.arc.nasa.gov/]]
[2]
A. Mishra et al. R++: Using rules in object-oriented designs. In OOPSLA, July 1996.]]
[3]
G. Candea and A. Fox. Recursive restartability: Turning the reboot sledgehammer into a scalpel. In HotOS-VIII, May 2001.]]
[4]
S. Ceri and J. Widom. Deriving production rules for constraint maintenance. In VLDB, pages 566--577, 1990.]]
[5]
D. A. Patterson et al. Recovery-oriented computing (ROC): Motivation, definition, techniques, and case studies. Technical Report UCB//CSD-02-1175, UC Berkeley Computer Science, March 15, 2002.]]
[6]
D. Litman et al. Modeling dynamic collections of interdependent objects using path-based rules. In OOPSLA, October 1997.]]
[7]
B. Demsky and M. Rinard. Automatic detection and repair of errors in data structures. In OOPSLA, October 2003.]]
[8]
B. Demsky and M. Rinard. Data structure repair using goal-directed reasoning. Technical Report 950, MIT Computer Science and Artificial Intelligence Laboratory, 2004.]]
[9]
G. Haugk. The 5ESS(TM) switching system: Maintenance capabilities. AT&T Technical Journal, 64(6 part 2):1385--1416, July-August 1985.]]
[10]
J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993.]]
[11]
R. Hoover. Incremental computation as a programming abstraction. In PLDI, 1992.]]
[12]
J. Corbett et al. Bandera : Extracting finite-state models from Java source code. In ICSE, 2000.]]
[13]
D. A. Ladd and J. C. Ramming. Two application languages in software production. In VHLL, October 1994.]]
[14]
G. Lopez. The Design and Implementation of Kaleidoscope, A Constraint Imperative Programming Language. PhD thesis, University of Washington, April 1997.]]
[15]
M. B. Taylor et al. The Raw microprocessor: A computational fabric for software circuits and general-purpose programs. In IEEE Micro, Mar/Apr 2002.]]
[16]
S. Mourad and D. Andrews. On the reliability of the IBM MVS/XA operating system. TSE, September 1987.]]
[17]
N. Gupta et al. Auditdraw: Generating audits the FAST way. In ISCE, 1997.]]
[18]
M. Rosenblum and J. Ousterhout. The design and implementation of a log-structured file system. In SOSP, Oct. 1991.]]
[19]
S. Ceri et al. Automatic generation of production rules for integrity maintenance. TODS, 19(3), September 1994.]]
[20]
S. Hallem et al. A system and language for building system-specific, static analyses. In PLDI, 2002.]]
[21]
T. Griffin et al. Generating update constraints from PRL5.0 specifications. In Preliminary report presented at AT&T Database Day, September 1992.]]
[22]
S. D. Urban and L. M. Delcambre. Constraint analysis: A design process for specifying operations on objects. TKDE, 2(4), December 1990.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '05: Proceedings of the 27th international conference on Software engineering
May 2005
754 pages
ISBN:1581139632
DOI:10.1145/1062455
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 May 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. data structure invariants
  2. data structure repair

Qualifiers

  • Article

Conference

ICSE05
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media