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

Common statement kind changes to inform automatic program repair

Published: 28 May 2018 Publication History

Abstract

The search space for automatic program repair approaches is vast and the search for mechanisms to help restrict this search are increasing. We make a granular analysis based on statement kinds to find which statements are more likely to be modified than others when fixing an error. We construct a corpus for analysis by delimiting debugging regions in the provided dataset and recursively analyze the differences between the Simplified Syntax Trees associated with EditEvent's. We build a distribution of statement kinds with their corresponding likelihood of being modified and we validate the usage of this distribution to guide the statement selection. We then build association rules with different confidence thresholds to describe statement kinds commonly modified together for multi-edit patch creation. Finally we evaluate association rule coverage over a held out test set and find that when using a 95% confidence threshold we can create less and more accurate rules that fully cover 93.8% of the testing instances.

References

[1]
Rakesh Agrawal and Ramakrishnan Srikant. 1994. Fast Algorithms for Mining Association Rules in Large Databases. In 20th International Conference on Very Large Data Bases (VLDB'94). 478--499.
[2]
Tom Britton, Lisa Jeng, Graham Carver, Paul Cheak, and Tomer Katzenellenbogen. 2013. Reversible debugging software. Technical Report.
[3]
Xuan-Bach D. Le, David Lo, and Claire Le Goues. 2016. History Driven Program Repair. In International Conference on Software Analysis, Evolution, and Reengineering (SANER'16).
[4]
James A. Jones, Mary Jean Harrold, and John Stasko. 2002. Visualization of Test Information to Assist Fault Localization. In International Conference on Software Engineering (ICSE'02). 467--477.
[5]
Dongsun Kim, Jaechang Nam, Jaewoo Song, and Sunghun Kim. 2013. Automatic patch generation learned from human-written patches. In International Conference on Software Engineering (ICSE'13). 802--811.
[6]
Fan Long and Martin Rinard. 2016. Automatic Patch Generation by Learning Correct Code. In Symposium on Principles of Programming Languages (POPL '16). 298--312.
[7]
Matias Martinez and Martin Monperrus. 2015. Mining Software Repair Models for Reasoning on the Search Space of Automated Program Fixing. In Empirical Software Engineering (ESE'15). 176--205.
[8]
Mateusz Pawlik and Nikolaus Augsten. 2015. Efficient Computation of the Tree Edit Distance. ACM Transactions on Database Systems (TODS) 40. Issue 1.
[9]
Sebastian Proksch, Sven Amann, and Sarah Nadi. 2018. Enriched Event Streams: A General Dataset for Empirical Studies on In-IDE Activities of Software Developers. In Proceedings of the 15th Working Conference on Mining Software Repositories.
[10]
Yuhua Qi, Xiaoguang Mao, and Yan Lei. 2013. Efficient Automated Program Repair through Fault-Recorded Testing Prioritization. In International Conference on Software Maintenance (ICSM'13). 180--189.
[11]
Mauricio Soto and Claire Le Goues. 2018. Using a Probabilistic Model to Predict Bug Fixes. In Software Analysis, Evolution, and Reengineering 2018.
[12]
Gregory Tassey. 2002. The economic impacts of inadequate infrastructure for software testing. Technical Report.
[13]
Westley Weimer, Michael Dewey-Vogt, Claire Le Goues, and Stephanie Forrest. 2012. A systematic study of automated program repair: fixing 55 out of 105 bugs for $8 each. In International Conference on Software Engineering (ICSE'12). 3--13.
[14]
Westley Weimer, Zachary P. Fry, and Stephanie Forrest. 2013. Leveraging Program Equivalence for Adaptive Program Repair: Models and First Results. In IEEE/ACM International Conference on Automated Software Engineering (ASE'13). 356--âĂŞ366.
[15]
Cathrin Weiss, Rahul Premraj, Thomas Zimmermann, and Andreas Zeller. 2007. How long will it take to fix this bug?. In International Workshop on Mining Software Repositories (MSR'07). 1.
[16]
Hao Zhong and Zhendong Su. 2015. An empirical study on real bug fixes. In International Conference on Software Engineering (ICSE'15). 913--923.

Cited By

View all
  • (2022)A comprehensive study of code-removal patches in automated program repairEmpirical Software Engineering10.1007/s10664-021-10100-727:4Online publication date: 1-Jul-2022
  • (2019)Impact of Team Size, Project Scale and Level of Education on Software Build Event Status in Enriched Event Streams2019 27th Iranian Conference on Electrical Engineering (ICEE)10.1109/IranianCEE.2019.8786442(2045-2049)Online publication date: Apr-2019
  • (2019)ComingProceedings of the 41st International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion.2019.00043(79-82)Online publication date: 25-May-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
MSR '18: Proceedings of the 15th International Conference on Mining Software Repositories
May 2018
627 pages
ISBN:9781450357166
DOI:10.1145/3196398
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: 28 May 2018

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Short-paper

Conference

ICSE '18
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2022)A comprehensive study of code-removal patches in automated program repairEmpirical Software Engineering10.1007/s10664-021-10100-727:4Online publication date: 1-Jul-2022
  • (2019)Impact of Team Size, Project Scale and Level of Education on Software Build Event Status in Enriched Event Streams2019 27th Iranian Conference on Electrical Engineering (ICEE)10.1109/IranianCEE.2019.8786442(2045-2049)Online publication date: Apr-2019
  • (2019)ComingProceedings of the 41st International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion.2019.00043(79-82)Online publication date: 25-May-2019
  • (2019)Improving patch quality by enhancing key components of automatic program repairProceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2019.00147(1230-1233)Online publication date: 10-Nov-2019
  • (2019)Discovering common bug‐fix patternsJournal of Software: Evolution and Process10.1002/smr.217331:7Online publication date: 10-Jul-2019

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