[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1810295.1810333acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Dynamic symbolic data structure repair

Published: 01 May 2010 Publication History

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.

References

[1]
C. Boyapati, S. Khurshid, and D. Marinov. Korat: Automated testing based on Java predicates. In Proc. ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA), pages 123--133. ACM, July 2002.
[2]
É. Bruneton, R. Lenglet, and T. Coupaye. ASM: a code manipulation tool to implement adaptable systems. In Proc. ACM SIGOPS France Journées Composants 2002: Systèmes à composants adaptables et extensibles (Adaptable and extensible component systems), Nov. 2002.
[3]
G. A. Cohen, J. S. Chase, and D. L. Kaminsky. Automatic program transformation with Joie. In Proc. USENIX Annual Technical Symposium, pages 167--178. USENIX, June 1998.
[4]
B. Demsky. Data Structure Repair Using Goal-Directed Reasoning. PhD thesis, Massachusetts Institute of Technology, 2006.
[5]
B. Demsky and M. C. Rinard. Automatic detection and repair of errors in data structures. In Proc. 18th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pages 78--95. ACM, Oct. 2003.
[6]
B. Elkarablieh, I. Garcia, Y. L. Suen, and S. Khurshid. Assertion-based repair of complex data structures. In Proc. 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 64--73. ACM, Nov. 2007.
[7]
B. Elkarablieh and S. Khurshid. Juzi: a tool for repairing complex data structures. In Proc. 30th ACM/IEEE International Conference on Software Engineering (ICSE), pages 855--858. ACM, May 2008.
[8]
P. Godefroid, N. Klarlund, and K. Sen. Dart: Directed automated random testing. In Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 213--223. ACM, June 2005.
[9]
G. Kudrjavets, N. Nagappan, and T. Ball. Assessing the relationship between software assertions and faults: An empirical investigation. In Proc. 17th IEEE International Symposium on Software Reliability Engineering (ISSRE), pages 204--212. IEEE, Nov. 2006.
[10]
M. Z. Malik, K. Ghori, B. Elkarablieh, and S. Khurshid. A case for automated debugging using data structure repair. In 24th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, Nov. 2009.
[11]
S. Mourad and D. Andrews. On the reliability of the IBM MVS/XA operating system. IEEE Transactions on Software Engineering (TSE), 13(10):1135--1139, Oct. 1987.
[12]
K. Sen and G. Agha. Cute and jCute: Concolic unit testing and explicit path model-checking tools. In Proc. International Conference on Computer Aided Verification (CAV), pages 419--423. Springer, Aug. 2006.
[13]
N. Tillmann and J. de Halleux. Pex - white box test generation for .Net. In Proc. 2nd International Conference on Tests And Proofs (TAP), pages 134--153. Springer, Apr. 2008.

Cited By

View all
  • (2022)NufixProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510118(1545-1557)Online publication date: 21-May-2022
  • (2020)Debugging inputsProceedings of the ACM/IEEE 42nd International Conference on Software Engineering10.1145/3377811.3380329(75-86)Online publication date: 27-Jun-2020
  • (2018)Automated workarounds from Java program specifications based on SAT solvingInternational Journal on Software Tools for Technology Transfer (STTT)10.5555/3288063.328808320:6(665-688)Online publication date: 1-Nov-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
May 2010
554 pages
ISBN:9781605587196
DOI:10.1145/1810295
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: 01 May 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. data structure invariants
  2. data structure repair
  3. dynamic symbolic execution

Qualifiers

  • Research-article

Conference

ICSE '10
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)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)NufixProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510118(1545-1557)Online publication date: 21-May-2022
  • (2020)Debugging inputsProceedings of the ACM/IEEE 42nd International Conference on Software Engineering10.1145/3377811.3380329(75-86)Online publication date: 27-Jun-2020
  • (2018)Automated workarounds from Java program specifications based on SAT solvingInternational Journal on Software Tools for Technology Transfer (STTT)10.5555/3288063.328808320:6(665-688)Online publication date: 1-Nov-2018
  • (2018)Automated workarounds from Java program specifications based on SAT solvingInternational Journal on Software Tools for Technology Transfer10.1007/s10009-018-0503-820:6(665-688)Online publication date: 10-Aug-2018
  • (2017)Automated Workarounds from Java Program Specifications Based on SAT SolvingProceedings of the 20th International Conference on Fundamental Approaches to Software Engineering - Volume 1020210.1007/978-3-662-54494-5_20(356-373)Online publication date: 22-Apr-2017
  • (2013)Repair Abstractions for More Efficient Data Structure RepairRuntime Verification10.1007/978-3-642-40787-1_14(235-250)Online publication date: 2013
  • (2012)Automatic input rectificationProceedings of the 34th International Conference on Software Engineering10.5555/2337223.2337233(80-90)Online publication date: 2-Jun-2012
  • (2012)Automatic input rectification2012 34th International Conference on Software Engineering (ICSE)10.1109/ICSE.2012.6227204(80-90)Online publication date: Jun-2012
  • (2012)History-Aware data structure repair using SATProceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems10.1007/978-3-642-28756-5_2(2-17)Online publication date: 24-Mar-2012
  • (2010)DSDSRProceedings of the Eighth International Workshop on Dynamic Analysis10.1145/1868321.1868325(20-25)Online publication date: 12-Jul-2010

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media