Skip to main content
Thesis defences

PurityChecker: A Tool for Detecting Purity Of Method-Level Refractoring Operations


Date & time
Wednesday, November 8, 2023
9 a.m. – 11 a.m.
Speaker(s)

Pedram Nouri

Cost

This event is free

Organization

Department of Computer Science and Software Engineering

Where

ER Building
2155 Guy St.
Room Zoom

Wheel chair accessible

Yes

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 conducted, 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.

Back to top

© Concordia University