Cited by 19Software Engineering ResearchSoftware Engineering Techniques and PracticesAdvanced Software Engineering Methodologies

Industry experiences with large-scale refactoring

Open access
Ivers, James, Nord, Robert L., Ozkaya, Ipek, Seifried, Chris, Timperley, Christopher S., Kessentini, Marouane·2022·Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering

Abstract

Software refactoring plays an important role in software engineering. Developers often turn to refactoring when they want to restructure software to improve its quality without changing its external behavior. Small-scale (floss) refactoring is common in industry and is often performed by a single developer in short sessions, even though developers do much of this work manually instead of using refactoring tools. However, some refactoring efforts are much larger in scale, requiring entire teams and months or years of effort, and the role of tools in these efforts is not as well studied. In this paper, we report on a survey we conducted with developers to understand large-scale refactoring and its tool support needs. Our results from 107 industry developers demonstrate that projects commonly go through multiple large-scale refactorings, each of which requires considerable effort. Our study finds that developers use several categories of tools to support large-scale refactoring and rely more heavily on general-purpose tools like IDEs than on tools designed specifically to support refactoring. Tool support varies across the different activities, with some particularly challenging activities seeing little use of tools in practice. Furthermore, our analysis suggests significant impact is possible through advances in tool support for comprehension and testing, as well as through support for the needs of business stakeholders.

Integrity signals

Registry

Crossref · 10.1145/3540250.3558954

Cites

28 of 28 references verified0 citation errors · 0 not checkable

Statistics

Recomputing p-values needs the paper’s full text.

Claims the paper makes

We couldn’t retrieve this paper’s full text, so its claims and self-check weren’t run. The registry and citation checks still apply.

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

  • Impact analysis for architecture refactoring requires a conceptual grasp of overall code structure and deep understanding of design decisions of a software system.

    “Impact analysis for architecture refactoring requires a conceptual grasp of the overall code structure, as well as a deep understanding of design decisions of a software system, as discussed in the literature (e.g., [37]).”

Cites

Flagged first, then by citations

1 of the 29 references couldn’t be matched to a known paper.

Cited by

Sorted by citations

Authors
Ivers, J., Nord, R. L., Ozkaya, I., Seifried, C., Timperley, C. S., & Kessentini, M.
Affiliations
  • Carnegie Mellon University (US)
  • Carnegie Mellon University, USA
  • Oakland University (US)
Venue
Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering
Publisher
ACM
Published
2022-11-07
Pages
1544-1554
OpenAlex
W4308643086
Cited by
19
References
29
Citations by year
2026: 3 · 2025: 5 · 2024: 6 · 2023: 2 · 2022: 3
FWCI
3.58
Type
conference paper
Language
en
Open access
Locations
  • ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) (publishedVersion, cc-by)
  • arXiv (Cornell University) (submittedVersion)
  • arXiv (Cornell University) (cc-by)
Funders
  • U.S. Department of Defense (FA8702-15-D-0002, Contract No. FA8702-15-D-0002)
  • Carnegie Mellon University (FA8702-15-D-0002)
Topics
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Research
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
  • Physical Sciences › Computer Science › Artificial Intelligence › Advanced Software Engineering Methodologies
Keywords
refactoring, refactoring tools, developer survey, integrated development environment, program comprehension, software testing, software restructuring

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review