Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1882291.1882353acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
demonstration

Ref-Finder: a refactoring reconstruction tool based on logic query templates

Published: 07 November 2010 Publication History

Abstract

Knowing which parts of a system underwent which types of refactoring between two program versions can help programmers better understand code changes. Though there are a number of techniques that automatically find refactorings from two input program versions, these techniques are inadequate in terms of coverage by handling only a subset of refactoring types---mostly simple rename and move refactorings at the level of classes, methods, and fields. This paper presents a Ref-Finder Eclipse plug-in that automatically identifies both atomic and composite refactorings using a template-based refactoring reconstruction approach---it expresses each refactoring type in terms of template logic queries and uses a logic programming engine to infer concrete refactoring instances. Ref-Finder currently supports sixty three types in the Fowler's catalog, showing the most comprehensive coverage among existing techniques.

References

[1]
D. Dig, C. Comertoglu, D. Marinov, and R. Johnson. Automated detection of refactorings in evolving components. In ECOOP, pages 404--428, 2006.
[2]
D. Dig, K. Manzoor, R. Johnson, and T. N. Nguyen. Refactoring-aware configuration management for object-oriented programs. In ICSE '07, pages 427--436, 2007.
[3]
M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, 1999.
[4]
M. Kim and D. Notkin. Discovering and representing systematic code changes. In ICSE '09, pages 309--319, Washington, DC, USA, 2009. IEEE Computer Society.
[5]
A. Loh and M. Kim. A program differencing tool to identify systematic structural differences. In ICSE '10 Research Demo, page 4, 2010.
[6]
K. Mens, T. Mens, and M. Wermelinger. Maintaining software through intentional source-code views. In SEKE '02, pages 289--296. ACM, 2002.
[7]
K. Prete, N. Rachatasumrit, N. Sudan, and M. Kim. Template-based reconstruction of complex refactorings (to appear). In proceedings of the 26th IEEE International Conference on Software Maintenance, September 2010.
[8]
K. D. Volder. Type Oriented Logic Meta Programming. PhD thesis, The University of British Columbia, 1998.
[9]
Z. Xing and E. Stroulia. Refactoring detection based on umldiff change-facts queries. In WCRE '06, pages 263--274, Washington, DC, USA, 2006. IEEE.
[10]
L. Zou and M. Godfrey. Using origin analysis to detect merging and splitting of source code entities. IEEE Trans. Softw. Eng., 31(2):166--181, 2005.

Cited By

View all
  • (2024)DRMiner: A Tool For Identifying And Analyzing Refactorings In DockerfileProceedings of the 21st International Conference on Mining Software Repositories10.1145/3643991.3644921(584-594)Online publication date: 15-Apr-2024
  • (2024)A Comparative Study of Automated Refactoring ToolsIEEE Access10.1109/ACCESS.2024.336131412(18764-18781)Online publication date: 2024
  • (2023)Deep Learning Based Feature Envy Detection Boosted by Real-World ExamplesProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616353(908-920)Online publication date: 30-Nov-2023
  • Show More Cited By

Index Terms

  1. Ref-Finder: a refactoring reconstruction tool based on logic query templates

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    FSE '10: Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
    November 2010
    302 pages
    ISBN:9781605587912
    DOI:10.1145/1882291

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 07 November 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. logic-based program representation
    2. program differencing
    3. refactoring
    4. software evolution

    Qualifiers

    • Demonstration

    Conference

    SIGSOFT/FSE'10
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 17 of 128 submissions, 13%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)29
    • Downloads (Last 6 weeks)5
    Reflects downloads up to 01 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)DRMiner: A Tool For Identifying And Analyzing Refactorings In DockerfileProceedings of the 21st International Conference on Mining Software Repositories10.1145/3643991.3644921(584-594)Online publication date: 15-Apr-2024
    • (2024)A Comparative Study of Automated Refactoring ToolsIEEE Access10.1109/ACCESS.2024.336131412(18764-18781)Online publication date: 2024
    • (2023)Deep Learning Based Feature Envy Detection Boosted by Real-World ExamplesProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616353(908-920)Online publication date: 30-Nov-2023
    • (2023)Last Diff Analyzer: Multi-language Automated Approver for Behavior-Preserving Code RevisionsProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3613870(1693-1704)Online publication date: 30-Nov-2023
    • (2023)RefBERT: A Two-Stage Pre-trained Framework for Automatic Rename RefactoringProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598092(740-752)Online publication date: 12-Jul-2023
    • (2023)Automating Library Migrations with Error Prone and RefasterACM SIGAPP Applied Computing Review10.1145/3594264.359426523:1(5-19)Online publication date: 20-Apr-2023
    • (2023)An Empirical Study of Refactoring Rhythms and Tactics in the Software Development ProcessIEEE Transactions on Software Engineering10.1109/TSE.2023.332677549:12(5103-5119)Online publication date: Dec-2023
    • (2023)RefactorScore: Evaluating Refactor Prone CodeIEEE Transactions on Software Engineering10.1109/TSE.2023.332461349:11(5008-5026)Online publication date: Nov-2023
    • (2023)Operation-Based Refactoring-Aware Merging: An Empirical EvaluationIEEE Transactions on Software Engineering10.1109/TSE.2022.322885149:4(2698-2721)Online publication date: 1-Apr-2023
    • (2023)Change Pattern Detection for Optimising Incremental Static Analysis2023 IEEE 23rd International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM59687.2023.00016(49-60)Online publication date: 2-Oct-2023
    • Show More Cited By

    View Options

    Get Access

    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