Proceedings of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications 2003
DOI: 10.1145/949305.949314
|View full text |Cite
|
Sign up to set email alerts
|

Automatic detection and repair of errors in data structures

Abstract: We present a system that accepts a specification of key data structure constraints, then dynamically detects and repairs violations of these constraints. Our experience using our system indicates that the specifications are relatively easy to develop once one understands the data structures. Furthermore, for our set of benchmark applications, our system can effectively repair errors to deliver consistent data structures that allow the program to continue to operate successfully within its designed operating en… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
49
0

Year Published

2005
2005
2021
2021

Publication Types

Select...
5
3

Relationship

0
8

Authors

Journals

citations
Cited by 118 publications
(50 citation statements)
references
References 17 publications
0
49
0
Order By: Relevance
“…Finally, data structure repair approaches have a goal similar to that of the approach proposed in this paper-the regeneration of a portion of an invalid data structure instance (by relying upon ad hoc search [Demsky and Rinard 2003], by using symbolic execution [Elkarablieh et al 2007], or SAT solving [Nokhbeh Zaeem et al 2012]). For example, Cobbler generates an Alloy model that captures the content of an invalid data structure along with its invariants and method post-conditions, and then uses Alloy to reassigning the data structure fields that appear in the Alloy subformulas and are not satisfied by the invalid data [Nokhbeh Zaeem et al 2012].…”
Section: Related Workmentioning
confidence: 99%
“…Finally, data structure repair approaches have a goal similar to that of the approach proposed in this paper-the regeneration of a portion of an invalid data structure instance (by relying upon ad hoc search [Demsky and Rinard 2003], by using symbolic execution [Elkarablieh et al 2007], or SAT solving [Nokhbeh Zaeem et al 2012]). For example, Cobbler generates an Alloy model that captures the content of an invalid data structure along with its invariants and method post-conditions, and then uses Alloy to reassigning the data structure fields that appear in the Alloy subformulas and are not satisfied by the invalid data [Nokhbeh Zaeem et al 2012].…”
Section: Related Workmentioning
confidence: 99%
“…While the contents of the stack can be recovered by restoring the stack pointer, special care must be placed in handling the state of the heap. To deal with data corruption in the heap, we can employ data structure consistency constraints, as described in [24], to detect and recover from such errors. Thus, the code in our example from Fig.…”
Section: Recovery: Execution Transactionsmentioning
confidence: 99%
“…Our experimental evaluation through a benchmark suite, which issues many thousand requests to the same application, gives us some confidence that their internal state does not "decay" quickly. To address longer-term deterioration, we can use either micro-rebooting (software rejuvenation) [11] or automated data-structure repair [24]. We intend to examine the combination of our approach with either of these techniques in future work.…”
Section: Execution Transaction Validationmentioning
confidence: 99%
See 1 more Smart Citation
“…Instrumentation techniques are widely applied in selfhealing systems, such as detecting faults, repairing failures [8,6], and enforcing policies [9]. In a general instrumentation framework [10], a instrumentation ''recipe'' is required to indicate what to monitor.…”
Section: Introductionmentioning
confidence: 99%