Nouri, Pedram (2023) PurityChecker: A Tool for Detecting Purity of Method-level Refactoring Operations. Masters thesis, Concordia University.
Preview |
Text (application/pdf)
22MBNouri_MA_S2024.pdf - Accepted Version Available under License Spectrum Terms of Access. |
Abstract
Software refactoring is a vital practice in software engineering, aiming to improve code quality and maintainability. However, different refactoring instances serve different purposes. Some are purely intended to enhance code health by preserving program behavior, while others serve to eliminate defects and enable new functionality. Determining the purity of a refactoring instance, whether it is behavior-preserving (a.k.a. “pure”) or not, is an essential but often challenging task. This research introduces PurityChecker, a novel tool designed to automatically detect the purity of method-level refactoring instances in Java code through static source code analysis.
The contributions of this thesis are twofold. First, a tool has been created to assess the purity of refactoring instances, enabling the investigation of refactoring purity at a large scale. Extensive evaluations based on manually validated oracles demonstrated PurityChecker’s effectiveness, with precision and recall exceeding 90% in most cases. Second, a large-scale empirical study was con- ducted, resulting in two meticulously validated oracles, providing invaluable resources for research in software refactoring.
PurityChecker opens up new avenues for research and development. Its potential applications range from improving code reviewing processes and code quality maintenance to enabling empirical studies that leverage the concept of refactoring purity. This work is not only an important contribution to the field of software evolution analysis, but also a stepping stone for future research into refining and expanding refactoring assessment techniques.
Divisions: | Concordia University > Gina Cody School of Engineering and Computer Science > Computer Science and Software Engineering |
---|---|
Item Type: | Thesis (Masters) |
Authors: | Nouri, Pedram |
Institution: | Concordia University |
Degree Name: | M.A. |
Program: | Computer Science |
Date: | 8 November 2023 |
Thesis Supervisor(s): | Tsantalis, Nikolaos |
ID Code: | 993129 |
Deposited By: | Pedram Nouri |
Deposited On: | 04 Jun 2024 15:14 |
Last Modified: | 04 Jun 2024 15:14 |
Repository Staff Only: item control page