Hasan, Mohammed Tayeeb (2023) Fine-Grained Source Code Tracking and Visualization in Commit History. Masters thesis, Concordia University.
Preview |
Text (application/pdf)
7MBHasan_MCS_F2023.pdf - Accepted Version Available under License Spectrum Terms of Access. |
Abstract
CodeTracker is the current state-of-the-art program element change history generator with a reported precision and recall of 99.9% in method and variable tracking [1]. In this thesis, we extend the granularity of CodeTracker to support the tracking of control-flow blocks (e.g., for, while, if, try, catch, etc.) with a precision and recall of 98.12% and 97.62% respectively, providing researchers and developers with finer-grained information about the evolution of source code. We accompany this extension with a manually validated oracle, which includes the change histories of 1280 code blocks. These code blocks are contained within 200 methods from 20 open-source Java projects (10 methods from each project) comprising the method change history oracle created by Grund et al. [2]. We also present a code change history visualization and navigation tool for CodeTracker, named CodeTracker Visualizer, that overlays the GitHub user interface with change history information enabling users to track code elements directly from the commit page by simply selecting the desired code element. Finally, we compare CodeTracker’s block tracking precision and recall using two different tools that provide statement mappings, namely RefactoringMiner [3, 4], the current state-of-the-art refactoring detection tool, and GumTree [5], the current state-of-the-art Abstract Syntax Tree (AST) Diff tool. The enhanced version of CodeTracker along with the extended oracle are made publicly available to facilitate reproducibility and future research on code element tracking techniques [6].
Divisions: | Concordia University > Gina Cody School of Engineering and Computer Science > Computer Science and Software Engineering |
---|---|
Item Type: | Thesis (Masters) |
Authors: | Hasan, Mohammed Tayeeb |
Institution: | Concordia University |
Degree Name: | M. Comp. Sc. |
Program: | Computer Science |
Date: | 1 September 2023 |
Thesis Supervisor(s): | Tsantalis, Nikolaos |
ID Code: | 992989 |
Deposited By: | Mohammed Tayeeb Hasan |
Deposited On: | 14 Nov 2023 19:55 |
Last Modified: | 14 Nov 2023 19:55 |
Repository Staff Only: item control page