A case study of refactoring large-scale industrial systems to efficiently improve source code quality

Gábor Szoke, Csaba Nagy, R. Ferenc, T. Gyimóthy

Research output: Chapter in Book/Report/Conference proceedingConference contribution

8 Citations (Scopus)

Abstract

Refactoring source code has many benefits (e.g. improving maintainability, robustness and source code quality), but it takes time away from other implementation tasks, resulting in developers neglecting refactoring steps during the development process. But what happens when they know that the quality of their source code needs to be improved and they can get the extra time and money to refactor the code? What will they do? What will they consider the most important for improving source code quality? What sort of issues will they address first or last and how will they solve them? In our paper, we look for answers to these questions in a case study of refactoring large-scale industrial systems where developers participated in a project to improve the quality of their software systems. We collected empirical data of over a thousand refactoring patches for 5 systems with over 5 million lines of code in total, and we found that developers really optimized the refactoring process to significantly improve the quality of these systems.

Original languageEnglish
Title of host publicationLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
PublisherSpringer Verlag
Pages524-540
Number of pages17
Volume8583 LNCS
EditionPART 5
ISBN (Print)9783319091556
DOIs
Publication statusPublished - 2014
Event14th International Conference on Computational Science and Its Applications, ICCSA 2014 - Guimaraes, Portugal
Duration: Jun 30 2014Jul 3 2014

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
NumberPART 5
Volume8583 LNCS
ISSN (Print)03029743
ISSN (Electronic)16113349

Other

Other14th International Conference on Computational Science and Its Applications, ICCSA 2014
CountryPortugal
CityGuimaraes
Period6/30/147/3/14

Fingerprint

Refactoring
Maintainability
Development Process
Software System
Sort
Patch
Robustness
Line

Keywords

  • refactoring
  • software engineering
  • software quality

ASJC Scopus subject areas

  • Computer Science(all)
  • Theoretical Computer Science

Cite this

Szoke, G., Nagy, C., Ferenc, R., & Gyimóthy, T. (2014). A case study of refactoring large-scale industrial systems to efficiently improve source code quality. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (PART 5 ed., Vol. 8583 LNCS, pp. 524-540). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 8583 LNCS, No. PART 5). Springer Verlag. https://doi.org/10.1007/978-3-319-09156-3_37

A case study of refactoring large-scale industrial systems to efficiently improve source code quality. / Szoke, Gábor; Nagy, Csaba; Ferenc, R.; Gyimóthy, T.

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 8583 LNCS PART 5. ed. Springer Verlag, 2014. p. 524-540 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 8583 LNCS, No. PART 5).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Szoke, G, Nagy, C, Ferenc, R & Gyimóthy, T 2014, A case study of refactoring large-scale industrial systems to efficiently improve source code quality. in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). PART 5 edn, vol. 8583 LNCS, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), no. PART 5, vol. 8583 LNCS, Springer Verlag, pp. 524-540, 14th International Conference on Computational Science and Its Applications, ICCSA 2014, Guimaraes, Portugal, 6/30/14. https://doi.org/10.1007/978-3-319-09156-3_37
Szoke G, Nagy C, Ferenc R, Gyimóthy T. A case study of refactoring large-scale industrial systems to efficiently improve source code quality. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). PART 5 ed. Vol. 8583 LNCS. Springer Verlag. 2014. p. 524-540. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); PART 5). https://doi.org/10.1007/978-3-319-09156-3_37
Szoke, Gábor ; Nagy, Csaba ; Ferenc, R. ; Gyimóthy, T. / A case study of refactoring large-scale industrial systems to efficiently improve source code quality. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 8583 LNCS PART 5. ed. Springer Verlag, 2014. pp. 524-540 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); PART 5).
@inproceedings{8f8015a66f244dc09fc7810c2818f1f5,
title = "A case study of refactoring large-scale industrial systems to efficiently improve source code quality",
abstract = "Refactoring source code has many benefits (e.g. improving maintainability, robustness and source code quality), but it takes time away from other implementation tasks, resulting in developers neglecting refactoring steps during the development process. But what happens when they know that the quality of their source code needs to be improved and they can get the extra time and money to refactor the code? What will they do? What will they consider the most important for improving source code quality? What sort of issues will they address first or last and how will they solve them? In our paper, we look for answers to these questions in a case study of refactoring large-scale industrial systems where developers participated in a project to improve the quality of their software systems. We collected empirical data of over a thousand refactoring patches for 5 systems with over 5 million lines of code in total, and we found that developers really optimized the refactoring process to significantly improve the quality of these systems.",
keywords = "refactoring, software engineering, software quality",
author = "G{\'a}bor Szoke and Csaba Nagy and R. Ferenc and T. Gyim{\'o}thy",
year = "2014",
doi = "10.1007/978-3-319-09156-3_37",
language = "English",
isbn = "9783319091556",
volume = "8583 LNCS",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
number = "PART 5",
pages = "524--540",
booktitle = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
edition = "PART 5",

}

TY - GEN

T1 - A case study of refactoring large-scale industrial systems to efficiently improve source code quality

AU - Szoke, Gábor

AU - Nagy, Csaba

AU - Ferenc, R.

AU - Gyimóthy, T.

PY - 2014

Y1 - 2014

N2 - Refactoring source code has many benefits (e.g. improving maintainability, robustness and source code quality), but it takes time away from other implementation tasks, resulting in developers neglecting refactoring steps during the development process. But what happens when they know that the quality of their source code needs to be improved and they can get the extra time and money to refactor the code? What will they do? What will they consider the most important for improving source code quality? What sort of issues will they address first or last and how will they solve them? In our paper, we look for answers to these questions in a case study of refactoring large-scale industrial systems where developers participated in a project to improve the quality of their software systems. We collected empirical data of over a thousand refactoring patches for 5 systems with over 5 million lines of code in total, and we found that developers really optimized the refactoring process to significantly improve the quality of these systems.

AB - Refactoring source code has many benefits (e.g. improving maintainability, robustness and source code quality), but it takes time away from other implementation tasks, resulting in developers neglecting refactoring steps during the development process. But what happens when they know that the quality of their source code needs to be improved and they can get the extra time and money to refactor the code? What will they do? What will they consider the most important for improving source code quality? What sort of issues will they address first or last and how will they solve them? In our paper, we look for answers to these questions in a case study of refactoring large-scale industrial systems where developers participated in a project to improve the quality of their software systems. We collected empirical data of over a thousand refactoring patches for 5 systems with over 5 million lines of code in total, and we found that developers really optimized the refactoring process to significantly improve the quality of these systems.

KW - refactoring

KW - software engineering

KW - software quality

UR - http://www.scopus.com/inward/record.url?scp=84904878254&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84904878254&partnerID=8YFLogxK

U2 - 10.1007/978-3-319-09156-3_37

DO - 10.1007/978-3-319-09156-3_37

M3 - Conference contribution

AN - SCOPUS:84904878254

SN - 9783319091556

VL - 8583 LNCS

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 524

EP - 540

BT - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

PB - Springer Verlag

ER -