by FeiFei Niu, Junqian Shao, Chaofan Xu, Christoph Mayr-Dorn, Wesley K. G. Assunção, LiGuo Huang, Chuanyi Li, Jidong Ge, Bin Luo, Alexander Egyed
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. Demo Tool: https://github.com/feifeiniu-se/RAT_Demo Demo Video: https://youtu.be/VI_xwUaIPp4
Reference:
RAT: A Refactoring-Aware Tool for Tracking Code History (FeiFei Niu, Junqian Shao, Chaofan Xu, Christoph Mayr-Dorn, Wesley K. G. Assunção, LiGuo Huang, Chuanyi Li, Jidong Ge, Bin Luo, Alexander Egyed), ACM, 2024.
Bibtex Entry:
@InProceedings{Niu2024,
author = {FeiFei Niu and Junqian Shao and Chaofan Xu and Christoph Mayr-Dorn and Wesley K. G. Assunção and LiGuo Huang and Chuanyi Li and Jidong Ge and Bin Luo and Alexander Egyed},
booktitle = {Proceedings of the 2024 {IEEE/ACM} 46th International Conference on Software Engineering: Companion Proceedings, {ICSE} Companion 2024, Lisbon, Portugal, April 14-20, 2024},
title = {{RAT:} {A} Refactoring-Aware Tool for Tracking Code History},
year = {2024},
pages = {104--108},
publisher = {{ACM}},
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.
Demo Tool: https://github.com/feifeiniu-se/RAT_Demo
Demo Video: https://youtu.be/VI_xwUaIPp4},
bibsource = {dblp computer science bibliography, https://dblp.org},
biburl = {https://dblp.org/rec/conf/icse/NiuSXMAHLG0E24.bib},
doi = {10.1145/3639478.3640047},
timestamp = {Fri, 31 May 2024 21:05:18 +0200},
url = {https://doi.org/10.1145/3639478.3640047},
}