Login | Register

PurityChecker: A Tool for Detecting Purity of Method-level Refactoring Operations

Title:

PurityChecker: A Tool for Detecting Purity of Method-level Refactoring Operations

Nouri, Pedram (2023) PurityChecker: A Tool for Detecting Purity of Method-level Refactoring Operations. Masters thesis, Concordia University.

[thumbnail of Nouri_MA_S2024.pdf]
Preview
Text (application/pdf)
Nouri_MA_S2024.pdf - Accepted Version
Available under License Spectrum Terms of Access.
22MB

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
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

Research related to the current document (at the CORE website)
- Research related to the current document (at the CORE website)
Back to top Back to top