< back to work
Academic + Open Source·2025
Refactoring Study
Refactoring treated as an engineering activity, measuring whether changes made real maintenance tasks easier across real-world Java systems.
- Java
- Refactoring
- Code Quality
Problem
In large Java codebases, small design issues compound over time. My goal was to treat refactoring as an engineering activity, then measure whether the changes made real maintenance tasks easier.
What I did
I selected real-world Java systems (H2 Database, OpenPDF, and JFreeChart) and worked through concrete code smells and refactoring candidates surfaced by SonarQube.
Outcome
Improved readability and cleaner separation of responsibilities, reducing mental load when tracing behaviour across classes.
Highlights
- Analyzed H2 Database, OpenPDF, and JFreeChart
- Used SonarQube and RefactoringMiner to surface candidates
- Documented measurable code-quality improvements