We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.SE

Change to browse by:

cs

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo ScienceWISE logo

Computer Science > Software Engineering

Title: Towards a Catalog of Composite Refactorings

Abstract: Catalogs of refactoring have key importance in software maintenance and evolution, since developers rely on such documents to understand and perform refactoring operations. Furthermore, these catalogs constitute a reference guide for communication between practitioners since they standardize a common refactoring vocabulary. Fowler's seminal book on refactoring describes the most popular catalog of refactorings, which documents single and well-known refactoring operations. However, sometimes refactorings are composite transformations, i.e., a sequence of refactorings performed over a given program element. For example, a sequence of Extract Method operations (a single refactoring) can be performed over the same method, in one or in multiple commits, to simplify its implementation, therefore, leading to a Method Decomposition operation (a composite refactoring). In this paper, we propose and document a catalog with six composite refactorings. We also extend a refactoring detection tool to identify such composite refactoring in commits histories. We rely on our tool extension to mine composite refactorings in ten well-known open source projects and characterize the detected composite refactorings, under dimensions such as size and location. Finally, we qualitatively study the descriptions of commits including composite refactorings to shed preliminary light on the motivations behind such operations. We conclude by addressing the applications and implications of the proposed catalog.
Subjects: Software Engineering (cs.SE)
Cite as: arXiv:2201.04599 [cs.SE]
  (or arXiv:2201.04599v1 [cs.SE] for this version)

Submission history

From: Aline Brito [view email]
[v1] Wed, 12 Jan 2022 17:49:42 GMT (358kb,D)
[v2] Thu, 28 Apr 2022 10:09:22 GMT (1601kb,D)

Link back to: arXiv, form interface, contact.