skip to main content
10.1145/2972958.2972962acmotherconferencesArticle/Chapter ViewAbstractPublication PagespromiseConference Proceedingsconference-collections
short-paper

A Manually Validated Code Refactoring Dataset and Its Assessment Regarding Software Maintainability

Published: 09 September 2016 Publication History

Abstract

Refactoring is a popular technique for improving the internal structure of software systems. It has a solid theoretical background while being used in development practice at the same time. However, we lack empirical research results on the real effect of code refactoring and its ways of application.
This paper presents a manually validated dataset of applied refactorings and source code metrics and maintainability of 7 open-source systems. It is a subset of our previously published dataset containing the refactoring instances automatically extracted by the RefFinder tool. We found that RefFinder had around 27% overall average precision on the subject systems, thus our new -- manually validated -- subset has substantial added value allowing researchers to perform more accurate empirical investigations.
Using this data, we were able to study whether refactorings were really triggered by poor maintainability of the code, or by other aspects. The results show that source code elements subject to refactorings had significantly lower maintainability values (approximated by source code metric aggregation) than elements not affected by refactorings between two releases.

References

[1]
T. Bakota, P. Hegedűs, P. Körtvélyesi, R. Ferenc, and T. Gyimóthy. A Probabilistic Software Quality Model. In Proceedings of the 27th IEEE International Conference on Software Maintenance (ICSM), pages 243--252, Sept. 2011.
[2]
T. Bakota, P. Hegedüs, I. Siket, G. Ladányi, and R. Ferenc. QualityGate SourceAudit: A Tool for Assessing the Technical Quality of Software. In 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014, Antwerp, Belgium, February 3-6, 2014, pages 440--445, 2014.
[3]
G. Bavota, A. De Lucia, M. Di Penta, R. Oliveto, and F. Palomba. An Experimental Investigation on the Innate Relationship Between Quality and Refactoring. Journal of Systems and Software, 107:1--14, 2015.
[4]
F. A. Fontana and S. Spinelli. Impact of Refactoring on Quality Code Evaluation. In Proceedings of the 4th Workshop on Refactoring Tools, WRT '11, pages 37--40, New York, NY, USA, 2011. ACM.
[5]
M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.
[6]
P. Hegedűs, T. Bakota, G. Ladányi, C. Faragó, and R. Ferenc. A Drill-Down Approach for Measuring Maintainability at Source Code Element Level. Electronic Communications of the EASST, 60, 2013.
[7]
I. Kádár, P. Hegedűs, R. Ferenc, and T. Gyimóthy. Assessment of the Code Refactoring Dataset Regarding the Maintainability of Methods. In Proceedings of the International Conference on Computational Science and Its Applications, Lecture Notes in Computer Science. Springer International Publishing, 2016, accepted, to appear.
[8]
I. Kádár, P. Hegedűs, R. Ferenc, and T. Gyimóthy. A Code Refactoring Dataset and Its Assessment Regarding Software Maintainability. In Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering, page to appear. IEEE Computer Society, 2016.
[9]
M. Kim, M. Gee, A. Loh, and N. Rachatasumrit. Ref-Finder: a Refactoring Reconstruction Tool Based on Logic Query Templates. In Proceedings of the 18th ACM SIGSOFT international symposium on Foundations of software engineering (FSE'10), pages 371--372, 2010.
[10]
T. Menzies, R. Krishna, and D. Pryor. The Promise Repository of Empirical Software Engineering Data, 2015.
[11]
P. Oman and J. Hagemeister. Metrics for Assessing a Software System's Maintainability. In Proceedings of the International Conference on Software Maintenance, pages 337--344. IEEE CS Press, 1992.
[12]
R. Peters and A. Zaidman. Evaluating the Lifespan of Code Smells using Software Repository Mining. In Proceedings of the 16th European Conference on Software Maintenance and Reengineering (CSMR), pages 411--416, March 2012.
[13]
E. van Emden and L. Moonen. Java Quality Assurance by Detecting Code Smells. In Proceedings of the 9th Working Conference on Reverse Engineering, pages 97--106, 2002.

Cited By

View all
  • (2024)Refactoring Prediction Improvement using Various Feature Selection and Data Sampling Techniques2024 International Conference on Emerging Systems and Intelligent Computing (ESIC)10.1109/ESIC60604.2024.10481599(579-583)Online publication date: 9-Feb-2024
  • (2023)RefactorScore: Evaluating Refactor Prone CodeIEEE Transactions on Software Engineering10.1109/TSE.2023.332461349:11(5008-5026)Online publication date: 16-Oct-2023
  • (2023)Visualizing software refactoring using radar chartsScientific Reports10.1038/s41598-023-44281-613:1Online publication date: 9-Nov-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PROMISE 2016: Proceedings of the The 12th International Conference on Predictive Models and Data Analytics in Software Engineering
September 2016
84 pages
ISBN:9781450347723
DOI:10.1145/2972958
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 September 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Code refactoring
  2. empirical study
  3. manually validated empirical dataset
  4. software maintainability

Qualifiers

  • Short-paper
  • Research
  • Refereed limited

Conference

PROMISE 2016

Acceptance Rates

PROMISE 2016 Paper Acceptance Rate 10 of 23 submissions, 43%;
Overall Acceptance Rate 98 of 213 submissions, 46%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)33
  • Downloads (Last 6 weeks)4
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Refactoring Prediction Improvement using Various Feature Selection and Data Sampling Techniques2024 International Conference on Emerging Systems and Intelligent Computing (ESIC)10.1109/ESIC60604.2024.10481599(579-583)Online publication date: 9-Feb-2024
  • (2023)RefactorScore: Evaluating Refactor Prone CodeIEEE Transactions on Software Engineering10.1109/TSE.2023.332461349:11(5008-5026)Online publication date: 16-Oct-2023
  • (2023)Visualizing software refactoring using radar chartsScientific Reports10.1038/s41598-023-44281-613:1Online publication date: 9-Nov-2023
  • (2022)Class-Level Refactoring Prediction by Ensemble Learning with Various Feature Selection TechniquesApplied Sciences10.3390/app12231221712:23(12217)Online publication date: 29-Nov-2022
  • (2022)A Live Environment to Improve the Refactoring ExperienceCompanion Proceedings of the 6th International Conference on the Art, Science, and Engineering of Programming10.1145/3532512.3535222(30-37)Online publication date: 21-Mar-2022
  • (2022)RefactoringMiner 2.0IEEE Transactions on Software Engineering10.1109/TSE.2020.300772248:3(930-950)Online publication date: 1-Mar-2022
  • (2021)A live environment for inspection and refactoring of software systemsProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3473100(1655-1659)Online publication date: 20-Aug-2021
  • (2021)Quality Histories of Past Extract Method RefactoringsComputational Science and Its Applications – ICCSA 202110.1007/978-3-030-87007-2_24(336-352)Online publication date: 13-Sep-2021
  • (2019)Method Level Refactoring Prediction on Five Open Source Java Projects using Machine Learning TechniquesProceedings of the 12th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference)10.1145/3299771.3299777(1-10)Online publication date: 14-Feb-2019
  • (2019)Prediction of Refactoring-Prone Classes Using Ensemble LearningNeural Information Processing10.1007/978-3-030-36802-9_27(242-250)Online publication date: 5-Dec-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media