RAT: A Refactoring-Aware Tool for Tracking Code History

FeiFei Niu, Junqian Shao, Chaofan Xu, Christoph Mayr-Dorn, Wesley Klewerton Guez Assuncao, LiGuo Huang, Chuanyi Li, Jidong Ge, Bin Luo, Alexander Egyed

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

History of code elements is essential for software maintenance tasks. However, code refactoring is one of the main causes that makes obtaining a consistent view on code evolution difficult as renaming or moving source code elements break such history. To this end, this paper presents RAT, a refactoring-aware tool for keeping track of code elements evolution across time, not just in terms of revisions but also in terms of refactoring. This is the first tool that enables fine-grained code element traceability of the whole repository. Empirical evaluation of leveraging our tool in three bug localization techniques relying on code history shows significant improvement in localization accuracy. Based on our findings, we believe that many of the state-of-the-art approaches using past source code data would benefit from our tool.
Original languageEnglish
Title of host publication46th International Conference on Software Engineering: Companion Proceedings, ICSE Companion 2024, Lisbon, Portugal
Pages104-108
Number of pages5
DOIs
Publication statusPublished - 2024

Fields of science

  • 102 Computer Sciences
  • 102022 Software development

JKU Focus areas

  • Digital Transformation

Cite this