Balancing Software Maintainability and Performance: An Empirical Study on Refactoring Practices
I tiakina i:
| I whakaputaina i: | ProQuest Dissertations and Theses (2025) |
|---|---|
| Kaituhi matua: | |
| I whakaputaina: |
ProQuest Dissertations & Theses
|
| Ngā marau: | |
| Urunga tuihono: | Citation/Abstract Full Text - PDF |
| Ngā Tūtohu: |
Kāore He Tūtohu, Me noho koe te mea tuatahi ki te tūtohu i tēnei pūkete!
|
MARC
| LEADER | 00000nab a2200000uu 4500 | ||
|---|---|---|---|
| 001 | 3254265575 | ||
| 003 | UK-CbPIL | ||
| 020 | |a 9798293881352 | ||
| 035 | |a 3254265575 | ||
| 045 | 2 | |b d20250101 |b d20251231 | |
| 084 | |a 66569 |2 nlm | ||
| 100 | 1 | |a Gyambrah, Nana | |
| 245 | 1 | |a Balancing Software Maintainability and Performance: An Empirical Study on Refactoring Practices | |
| 260 | |b ProQuest Dissertations & Theses |c 2025 | ||
| 513 | |a Dissertation/Thesis | ||
| 520 | 3 | |a Modern software development often confronts performance challenges stemming from suboptimal code, inefficient algorithms, or inappropriate resource management. Software refactoring, a technique traditionally employed to enhance code quality and maintainability without altering software behavior, has the potential to mitigate these issues. While prior research has extensively investigated the relationship between refactoring and functional defects, its influence on performance remains comparatively underexplored.In this thesis, we present two complementary empirical studies that examine how refactoring practices relate to and affect software performance. The first study investigates 255 Java open-source projects, drawing on data from GitHub’s API and RefactoringMiner. Our findings indicate that performance-related issues are frequently addressed through modifications to class structures and method configurations, with “Change Variable Type” emerging as the most impactful refactoring strategy. Statistical analysis reveals that performance-related commits are 1.77 times more likely to contain refactoring operations than non-performance commits. A deeper manual classification of 300 performance-refactoring instances uncovers 11 distinct motivations for refactoring when tackling performance concerns, as well as three main contexts in which these refactorings are applied.Building on these insights, the second study focuses on refactoring’s effect on execution time in 15 open-source Java projects. By employing automated tools to trace code changes and measure performance, we identify the most common refactoring types associated with performance fluctuations—particularly method extraction and variable inlining—and assess the magnitude of these changes. We further highlight contextual factors that shape the direction and degree of performance impacts, including code structure, method invocation frequency, and test coverage.Collectively, our results underscore the nuanced, dual impact of refactoring: while it enhances maintainability, it can also significantly influence software performance, sometimes leading to notable gains and occasionally to regressions. By providing a replicable methodology for evaluating refactoring-induced performance variations, this work aims to offer valuable guidelines for developers and researchers seeking to strike an optimal balance between code quality and runtime efficiency. | |
| 653 | |a Computer engineering | ||
| 773 | 0 | |t ProQuest Dissertations and Theses |g (2025) | |
| 786 | 0 | |d ProQuest |t ProQuest Dissertations & Theses Global | |
| 856 | 4 | 1 | |3 Citation/Abstract |u https://www.proquest.com/docview/3254265575/abstract/embedded/L8HZQI7Z43R0LA5T?source=fedsrch |
| 856 | 4 | 0 | |3 Full Text - PDF |u https://www.proquest.com/docview/3254265575/fulltextPDF/embedded/L8HZQI7Z43R0LA5T?source=fedsrch |