[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1109/ICSM.2012.6405275guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

How often do unintended inconsistencies happen? Deriving modification patterns and detecting overlooked code fragments

Published: 23 September 2012 Publication History

Abstract

It is difficult to keep consistent source code. Unintended inconsistencies occur unless we recognize all the code fragments that need to modify in a given bug fix or functional addition. Before modifying source code, keyword-based search tools like grep or code clone detection tools can be used to prevent code fragments from being overlooked. However, once inconsistencies occur in the source code, such tools cannot help us adequately. In this paper, we propose a new method to identify unintended inconsistencies in source code automatically. The proposed method analyzes source code modifications in a repository to derive modification patterns. A modification pattern indicates what kind of code and how it was modified. The derived modification patterns are queries to identify unintended inconsistencies from the latest version of source files. We implemented the proposed method and applied it to FreeBSD and Apache HTTPD. As a result, we identified many overlooked code fragments for bug fixes, functional enhancements, and refactorings. The precisions were 73.4% and 88.9% for the two systems, respectively.

Cited By

View all
  • (2023)Pre-implementation Method Name Prediction for Object-oriented ProgrammingACM Transactions on Software Engineering and Methodology10.1145/359720332:6(1-35)Online publication date: 29-Sep-2023
  • (2021)Lightweight global and local contexts guided method name recommendation with prior knowledgeProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468567(741-753)Online publication date: 20-Aug-2021
  • (2021)On Indirectly Dependent Documentation in the Context of Code EvolutionProceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00134(1498-1509)Online publication date: 22-May-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
ICSM '12: Proceedings of the 2012 IEEE International Conference on Software Maintenance (ICSM)
September 2012
687 pages
ISBN:9781467323130

Publisher

IEEE Computer Society

United States

Publication History

Published: 23 September 2012

Author Tags

  1. Cloning
  2. Computer bugs
  3. Conferences
  4. Data mining
  5. Encoding
  6. Inconsistency detection
  7. Modification patterns
  8. Open source software
  9. Software maintenance
  10. Static analysis

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Pre-implementation Method Name Prediction for Object-oriented ProgrammingACM Transactions on Software Engineering and Methodology10.1145/359720332:6(1-35)Online publication date: 29-Sep-2023
  • (2021)Lightweight global and local contexts guided method name recommendation with prior knowledgeProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468567(741-753)Online publication date: 20-Aug-2021
  • (2021)On Indirectly Dependent Documentation in the Context of Code EvolutionProceedings of the 43rd International Conference on Software Engineering10.1109/ICSE43902.2021.00134(1498-1509)Online publication date: 22-May-2021
  • (2015)Toward reusing code changesProceedings of the 12th Working Conference on Mining Software Repositories10.5555/2820518.2820565(372-376)Online publication date: 16-May-2015
  • (2014)MPAnalyzerProceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering10.1145/2642937.2648616(843-846)Online publication date: 15-Sep-2014
  • (2014)Hey! are you committing tangled changes?Proceedings of the 22nd International Conference on Program Comprehension10.1145/2597008.2597798(262-265)Online publication date: 2-Jun-2014
  • (2013)Identifying clone removal opportunities based on co-evolution analysisProceedings of the 2013 International Workshop on Principles of Software Evolution10.1145/2501543.2501552(63-67)Online publication date: 19-Aug-2013
  • (2013)Enhancement of CRD-based clone trackingProceedings of the 2013 International Workshop on Principles of Software Evolution10.1145/2501543.2501548(28-37)Online publication date: 19-Aug-2013

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media