Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
119 tokens/sec
GPT-4o
56 tokens/sec
Gemini 2.5 Pro Pro
43 tokens/sec
o3 Pro
6 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Why Developers Refactor Source Code: A Mining-based Study (2101.01430v1)

Published 5 Jan 2021 in cs.SE

Abstract: Refactoring aims at improving code non-functional attributes without modifying its external behavior. Previous studies investigated the motivations behind refactoring by surveying developers. With the aim of generalizing and complementing their findings, we present a large-scale study quantitatively and qualitatively investigating why developers perform refactoring in open source projects. First, we mine 287,813 refactoring operations performed in the history of 150 systems. Using this dataset, we investigate the interplay between refactoring operations and process (e.g., previous changes/fixes) and product (e.g., quality metrics) metrics. Then, we manually analyze 551 merged pull requests implementing refactoring operations and classify the motivations behind the implemented refactorings (e.g., removal of code duplication). Our results led to (i) quantitative evidence of the relationship existing between certain process/product metrics and refactoring operations and (ii) a detailed taxonomy, generalizing and complementing the ones existing in the literature, of motivations pushing developers to refactor source code.

User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (7)
  1. Jevgenija Pantiuchina (2 papers)
  2. Fiorella Zampetti (5 papers)
  3. Simone Scalabrino (18 papers)
  4. Valentina Piantadosi (1 paper)
  5. Rocco Oliveto (20 papers)
  6. Gabriele Bavota (60 papers)
  7. Massimiliano Di Penta (31 papers)
Citations (33)

Summary

We haven't generated a summary for this paper yet.