Refactoring

This collections includes 110 articles published between 1992 and 2024.

(stats / articles)




2024 (2)

2024
Refactoring With Regular Expressions
IEEE Software 2024 (6)
2024
SE Radio 625: Jonathan Schneider on Automated Refactoring with OpenRewrite
SE Radio Podcasts (FREE) 2024

Jonathan Schneider, the cofounder of Moderne and the creator of OpenRewrite, talks with SE Radio's Gregory Kapfhammer about automated software maintenance.

2023 (4)

2023
Improving the Accuracy of Refactoring Detection
PhD Theses 2023 (1); by Liang Tan
2023
Refactoring graphs: reasoning about refactoring over time
PhD Theses 2023 (1); by Aline Brito
2023
Understanding large codebase refactoring through differencing
PhD Theses 2023 (1); by Céline Deknop
2023
Expert Talk: Code Refactoring
GOTO Conference Videos (FREE) 2023; by Adam Tornhill, Christian Clausen

2022 (1)

2022
Expert Talk: Code Refactoring
GOTO Conference Videos (FREE) 2022; by Adam Tornhill, Christian Clausen

2021 (3)

2021
Refactoring design to reframe (dis)ability
ACM interactions 2021 (3); by Elizabeth F. Churchill
2021
A case study in refactoring computer science education
PhD Theses 2021 (1); by Deirdre Lawless
2021

2020 (4)

2020
2020
Fighting Software Erosion with Automated Refactoring
PhD Theses 2020 (1); by Gábor Szoke
2020
Refactoring: This class is too large
Martin Fowler (FREE) 2020; by Clare Sudbery

In this article I walk through a set of refactorings from a real code base. This is not intended to demonstrate perfection, but it does represent reality.

2020
Refactoring Trust on Your Team
GOTO Conference Videos (FREE) 2020; by Rebecca Miller-Webster

2019 (1)

2019
Ignore, Refactor, or Rewrite
IEEE Software 2019 (2)

2018 (5)

2018
Software Refactoring for System Modernization
IEEE Software 2018 (6); by Bruno Marinho Santos, Ignacio García Rodríguez de Guzmán, Valter Vieira de Camargo, Christof Ebert
2018
2018
Automated software maintenance using search-based refactoring
PhD Theses 2018 (1); by Michael Mohan
2018
2018
Changes for the 2nd Edition of Refactoring
Martin Fowler (FREE) 2018; by Martin Fowler

Summary of the changes between the first and second editions of Refactoring

2017 (5)

2017
Barriers to refactoring
Communications of the ACM 2017 (10); by Ewan D. Tempero, Tony Gorschek, Lefteris Angelis
2017
Handling Static Configurability in Refactoring Engines
IEEE Computer 2017 (7); by Jörg Liebig, Andreas Janker, Florian Garbe, Sebastian Oster
2017
MiNT: Multimodal Interaction for Modeling and Model Refactoring
PhD Theses 2017 (1); by Nitesh Narayan
2017
2017
Make Web Apps Fun to Build and Easy to Refactor with Elm
GOTO Conference Videos (FREE) 2017; by Daniel Bachler

2016 (4)

2016
2016
2016
2016
Refactoring a Java Script video store
Martin Fowler (FREE) 2016; by Martin Fowler

Implementing my 1999 video store refactoring example in JavaScript, with four different ways to compose the extracted functions.

2015 (21)

2015
Refactoring-a Shot in the Dark?
IEEE Software 2015 (6); by Simo Mäkinen, Samuel Lahtinen
2015
Refactoring Myths
IEEE Software 2015 (6); by Munawar Hafiz, Jeffrey Overbey
2015
Challenges to and Solutions for Refactoring Adoption: An Industrial Perspective
IEEE Software 2015 (6); by Girish Suryanarayana, Ganesh Samarthyam
2015
Database Refactoring: Lessons from the Trenches
IEEE Software 2015 (6); by Gregory Vial
2015
2015
Refactoring
IEEE Software 2015 (6); by Emerson R. Murphy-Hill, Don Roberts, Peter Sommerlad, William F. Opdyke
2015
2015
2015
Architectural Refactoring: A Task-Centric View on Software Evolution
IEEE Software 2015 (2); by Olaf Zimmermann
2015
Automated refactoring for Java concurrency
PhD Theses 2015 (1); by Yu Lin
2015
2015
2015
Early detection of manual refactoring faults
PhD Theses 2015 (1); by Everton L. G. Alves
2015
2015
Model-based software refactoring driven by performance analysis
PhD Theses 2015 (1); by Davide Arcelli
2015
Refactoring with Loops and Collection Pipelines
Martin Fowler (FREE) 2015; by Martin Fowler

Some examples of refactoring loops into collection pipelines

2015
An example of preparatory refactoring
Martin Fowler (FREE) 2015; by Martin Fowler

A simple example of how it can be easier to make a change by first refactoring the code to make the change easy.

2015
Refactoring Code to Load a Document
Martin Fowler (FREE) 2015; by Martin Fowler

When using data from an external document source, encapsulate how you load it so you can minimize mapping effort and support multiple clients

2015
Refactoring Module Dependencies
Martin Fowler (FREE) 2015; by Martin Fowler

An example of taking a program, splitting it into modules by layers, and refactoring these dependencies with the Service Locator and Dependency Injection…

2015
Refactoring to an Adaptive Model
Martin Fowler (FREE) 2015; by Martin Fowler
2015
Refactoring code that accesses external services
Martin Fowler (FREE) 2015; by Martin Fowler

Refactoring some code so that the lines that call and unpack data from an external service are separated into clear objects.

2014 (2)

2014
2014
Workflows of Refactoring
Martin Fowler (FREE) 2014; by Martin Fowler

2013 (5)

2013
2013
Personalized Web Accessibility using Client-Side Refactoring
IEEE Internet Computing 2013 (4); by Nuria Medina-Medina, Ivana Harari
2013
Refactoring proofs
PhD Theses 2013 (1); by Iain Whiteside
2013
Refactoring the UrQMD model for many-core architectures
PhD Theses 2013 (1); by Jochen Gerhard
2013

2012 (4)

2012
Refactoring on the Cheap
IEEE Software 2012 (1)
2012
2012
2012

2011 (9)

2011
Gardening Your Architecture, Part 1: Refactoring
IEEE Software 2011 (4); by Frank Buschmann
2011
2011
A Refactoring Approach to Parallelism
IEEE Software 2011 (1); by Danny Dig
2011
Refactoring Router Software to Minimize Disruption
PhD Theses 2011 (1); by Eric Keller
2011
A toolkit for constructing refactoring engines
PhD Theses 2011 (1); by Jeffrey Overbey
2011
2011
2011
2011
Opportunistic Refactoring
Martin Fowler (FREE) 2011; by Martin Fowler

Refactoring does not need to be planned out, mostly it is done opportunistically, to fix problems while working on another task.

2010 (5)

2010
Making Program Refactoring Safer
IEEE Software 2010 (4); by Gustavo Soares, Dalton Dario Serey
2010
2010
Refactoring-based Requirements Refinement Towards Design
PhD Theses 2010 (1); by WenQian Liu
2010
2010
Automatic Refactoring Detection in Version Archives
PhD Theses 2010 (1); by Peter Weißgerber

2009 (4)

2009
Refactoring for Data Locality
IEEE Computer 2009 (2); by Kristof Beyls, Erik H. D'Hollander
2009
2009
2009

2008 (5)

2008
Refactoring Tools: Fitness for Purpose
IEEE Software 2008 (5); by Emerson R. Murphy-Hill
2008
A language to script refactoring transformations
PhD Theses 2008 (1); by Mathieu Verbaere
2008
2008
Tool support for refactoring Haskell programs
PhD Theses 2008 (1); by Christopher Mark Brown
2008

2007 (6)

2007
Tool supported refactoring of aspect oriented programs
PhD Theses 2007 (1); by Jan Wloka
2007
Is Changing Interfaces Refactoring
Martin Fowler (FREE) 2007; by Martin Fowler

a bliki entry for IsChangingInterfacesRefactoring

2007
Episode 55: Refactoring Pt. 2
SE Radio Podcasts (FREE) 2007

In the first episode on Refactoring we talked about the basic ideas behind refactoring and some base principles why refactoring is a key part of software…

2007
Episode 46: Refactoring Pt. 1
SE Radio Podcasts (FREE) 2007

Changeable software has been a goal of several technique in software engineering.

2007
Episode 55: Refactoring Pt. 2
SE Radio Podcasts (FREE) 2007

In the first episode on Refactoring we talked about the basic ideas behind refactoring and some base principles why refactoring is a key part of software…

2007
Episode 46: Refactoring Pt. 1
SE Radio Podcasts (FREE) 2007

Changeable software has been a goal of several technique in software engineering.

2006 (3)

2006
Paying Down Design Debt with Strategic Refactoring
IEEE Computer 2006 (12); by Colin J. Neill, Phillip A. Laplante
2006
Refactoring via program slicing and sliding
PhD Theses 2006 (1); by Ran Ettinger
2006
Refactoring Haskell programs
PhD Theses 2006 (1); by Huiqing Li

2005 (2)

2005
Program Refactoring in the Presence of Preprocessor Directives
PhD Theses 2005 (1); by Alejandra Garrido
2005
Refactoring Photran
Martin Fowler (FREE) 2005; by Martin Fowler

a bliki entry for RefactoringPhotran

2004 (6)

2004
2004
Is Fixing an Unknown Bug Refactoring
Martin Fowler (FREE) 2004; by Martin Fowler

a bliki entry for IsFixingAnUnknownBugRefactoring

2004
Definition of Refactoring
Martin Fowler (FREE) 2004; by Martin Fowler

The definition of refactoring,in noun and verb forms.

2004
Refactoring Malapropism
Martin Fowler (FREE) 2004; by Martin Fowler

Refactoring is a specific technique for restructuring code as a series of small, behavior-preserving transformations.

2004
Is Optimization Refactoring
Martin Fowler (FREE) 2004; by Martin Fowler

a bliki entry for IsOptimizationRefactoring

2004
Is Declaration Ordering Refactoring
Martin Fowler (FREE) 2004; by Martin Fowler

a bliki entry for IsDeclarationOrderingRefactoring

2003 (3)

2003
A Metamodeling Approach to Pattern-Based Model Refactoring
IEEE Software 2003 (5); by Robert B. France, Sudipto Ghosh, Dae-Kyoo Kim
2003
Etymology of Refactoring
Martin Fowler (FREE) 2003; by Martin Fowler

a bliki entry for EtymologyOfRefactoring

2003
Refactoring Cringely
Martin Fowler (FREE) 2003; by Martin Fowler

a bliki entry for RefactoringCringely

2001 (3)

2001
Automated application of design patterns: a refactoring approach
PhD Theses 2001 (1); by Mel Ó Cinnéide
2001
2001
Refactoring Rubicon
Martin Fowler (FREE) 2001; by Martin Fowler

2000 (1)

2000

1999 (1)

1999
Practical Analysis for Refactoring
PhD Theses 1999 (1); by Donald Bradley Roberts

1992 (1)

1992
Refactoring Object-Oriented Frameworks
PhD Theses 1992 (1); by William F. Opdyke