Dynamic symbolic data structure repair

Ishtiaque Hussain, Christoph Csallner

Research output: Chapter in Book/Report/Conference proceedingConference contribution

7 Scopus citations

Abstract

Generic repair of complex data structures is a new and exciting area of research. Existing approaches can integrate with good software engineering practices such as program assertions. But in practice there is a wide variety of assertions and not all of them satisfy the style rules imposed by existing repair techniques. I.e., a "badly" written assertion may render generic repair inefficient or ineffective. In this paper we build on the state of the art in generic repair and discuss how generic repair can work effectively with a wider range of correctness conditions. We motivate how dynamic symbolic techniques enable generic repair to support a wider range of correctness conditions and present DSDSR, a novel repair algorithm based on dynamic symbolic execution. We implement the algorithm for Java and report initial empirical results to demonstrate the promise of our approach for generic repair.

Original languageEnglish (US)
Title of host publicationICSE 2010 - Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering
Pages215-218
Number of pages4
DOIs
Publication statusPublished - Jul 23 2010
Event32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010 - Cape Town, South Africa
Duration: May 1 2010May 8 2010

Publication series

NameProceedings - International Conference on Software Engineering
Volume2
ISSN (Print)0270-5257

Conference

Conference32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010
CountrySouth Africa
CityCape Town
Period5/1/105/8/10

    Fingerprint

All Science Journal Classification (ASJC) codes

  • Software

Cite this

Hussain, I., & Csallner, C. (2010). Dynamic symbolic data structure repair. In ICSE 2010 - Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering (pp. 215-218). (Proceedings - International Conference on Software Engineering; Vol. 2). https://doi.org/10.1145/1810295.1810333