Refactoring-aware Block Tracking in Commit History

Fuente: arXiv
Guardado en:
Detalles Bibliográficos
Autores principales: Hasan, Mohammed Tayeeb, Tsantalis, Nikolaos, Alikhanifard, Pouria
Formato: Preprint
Publicado: 2024
Materias:
Acceso en línea:
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866910618674528256
author Hasan, Mohammed Tayeeb
Tsantalis, Nikolaos
Alikhanifard, Pouria
author_facet Hasan, Mohammed Tayeeb
Tsantalis, Nikolaos
Alikhanifard, Pouria
contents Tracking statements in the commit history of a project is in many cases useful for supporting various software maintenance, comprehension, and evolution tasks. A high level of accuracy can facilitate the adoption of code tracking tools by developers and researchers. To this end, we propose CodeTracker, a refactoring-aware tool that can generate the commit change history for code blocks. To evaluate its accuracy, we created an oracle with the change history of 1,280 code blocks found within 200 methods from 20 popular open-source project repositories. Moreover, we created a baseline based on the current state-of-the-art Abstract Syntax Tree diff tool, namely GumTree 3.0, in order to compare the accuracy and execution time. Our experiments have shown that CodeTracker has a considerably higher precision/recall and faster execution time than the GumTree-based baseline, and can extract the complete change history of a code block with a precision and recall of 99.5% within 3.6 seconds on average.
format Preprint
id arxiv_https___arxiv_org_abs_2409_16185
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Refactoring-aware Block Tracking in Commit History
Hasan, Mohammed Tayeeb
Tsantalis, Nikolaos
Alikhanifard, Pouria
Software Engineering
Tracking statements in the commit history of a project is in many cases useful for supporting various software maintenance, comprehension, and evolution tasks. A high level of accuracy can facilitate the adoption of code tracking tools by developers and researchers. To this end, we propose CodeTracker, a refactoring-aware tool that can generate the commit change history for code blocks. To evaluate its accuracy, we created an oracle with the change history of 1,280 code blocks found within 200 methods from 20 popular open-source project repositories. Moreover, we created a baseline based on the current state-of-the-art Abstract Syntax Tree diff tool, namely GumTree 3.0, in order to compare the accuracy and execution time. Our experiments have shown that CodeTracker has a considerably higher precision/recall and faster execution time than the GumTree-based baseline, and can extract the complete change history of a code block with a precision and recall of 99.5% within 3.6 seconds on average.
title Refactoring-aware Block Tracking in Commit History
topic Software Engineering
url https://arxiv.org/abs/2409.16185