Skip to main content
Thesis defences

Fine-Grained Source Code Tracking and Visualization in Commit History


Date & time
Thursday, August 31, 2023
10 a.m. – 11:30 a.m.
Speaker(s)

Mohammed Tayeeb Hasan

Cost

This event is free

Organization

Department of Computer Science and Software Engineering

Where

ER Building
2155 Guy St.
Room ER-1102 and Zoom

Wheel chair accessible

Yes

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-theart 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].

Back to top

© Concordia University