Login | Register

Detection of Rename Local Variable Refactoring Instances in Commit History

Title:

Detection of Rename Local Variable Refactoring Instances in Commit History

Mansouri, Mohammad Matin (2018) Detection of Rename Local Variable Refactoring Instances in Commit History. Masters thesis, Concordia University.

[img]
Preview
Text (application/pdf)
Mansouri_MCompSc_W2018.pdf - Accepted Version
Available under License Spectrum Terms of Access.
2MB

Abstract

Detecting refactoring instances occurred in successive revisions of software systems can provide wealthy information for several purposes, e.g., to facilitate the code review process, to devise more accurate code merging techniques, to help the developers of API clients to ease their adaptation to API changes, and to enable more accurate empirical studies on the refactoring practice. In the literature there are several techniques proposed for refactoring detection, supporting a wide variety of refactoring types. Yet, almost all of them have missed an extensively-applied refactoring type, i.e., Rename Local Variable refactoring. In addition, all these techniques rely on similarity thresholds (which are difficult to tune), or need the systems under analysis to be fully built (which is usually a daunting task), or depend on specific IDEs (which drastically limits their effectiveness and usability).
In this thesis, we extend the state-of-the-art refactoring detection tool, RefactoringMiner, by defining necessary rules and extending its core algorithms to tailor it for accurately detecting Rename Local Variable refactoring instances. We have evaluated the proposed technique on two large-scale open-source systems, namely dnsjava and Tomcat. Our comparison with REPENT, the state-of-the-art tool in detecting Rename Local Variable refactoring instances, shows that our approach is superior in terms of precision and recall. Moreover, to automatically create a reference corpus of refactoring instances which is required for the evaluation, we have built a fully-automated infrastructure (called RefBenchmark) that is able to invoke several refactoring detection tools and find the agreements/disagreements between their results.

Divisions:Concordia University > Gina Cody School of Engineering and Computer Science > Computer Science and Software Engineering
Item Type:Thesis (Masters)
Authors:Mansouri, Mohammad Matin
Institution:Concordia University
Degree Name:M. Comp. Sc.
Program:Computer Science
Date:January 2018
Thesis Supervisor(s):Tsantalis, Nikolaos
ID Code:983507
Deposited By: Mohammad Matin Mansouri
Deposited On:11 Jun 2018 03:38
Last Modified:11 Jun 2018 03:38
All items in Spectrum are protected by copyright, with all rights reserved. The use of items is governed by Spectrum's terms of access.

Repository Staff Only: item control page

Downloads per month over past year

Back to top Back to top