Deconstructing the Refactoring Process from a Problem-solving and Decision-making Perspective

Thorsten Haendler, Josef Frysak

Abstract

Refactoring is the process of improving a software system’s internal technical quality by modifying and re-structuring a system’s source code without changing its external behavior. Manual identification and assessment of refactoring candidates as well as planning and performing the refactoring steps are complex and tedious tasks, for which several tools and techniques for automation and decision support have been proposed in recent years. Despite these advances, refactoring is still a neglected part of software engineering in practice, which is attributed to several barriers that prevent software practitioners from refactoring. In this paper, we present an approach for deconstructing the refactoring process into decision-problems and corresponding decision-making sub-processes. Within this, we pursue the question of whether and how a theoretical perspective can contribute to better understand the difficulties in the refactoring process (barriers) and to help improving the refactoring support techniques (enablers). For this purpose, we follow a deductive reasoning approach by applying concepts from decision-making research to deconstruct the refactoring process. As a result, we present a process model, which integrates primary decision problems and corresponding decision-making sub-processes in refactoring. Based on this process model, software companies can gain a better understanding of decision-making in the refactoring process. We finally discuss the applied procedure and reflect on limitations and potential of applying such a theoretical perspective.

Download


Paper Citation


in Harvard Style

Haendler T. and Frysak J. (2018). Deconstructing the Refactoring Process from a Problem-solving and Decision-making Perspective.In Proceedings of the 13th International Conference on Software Technologies - Volume 1: ICSOFT, ISBN 978-989-758-320-9, pages 363-372. DOI: 10.5220/0006915903630372


in Bibtex Style

@conference{icsoft18,
author={Thorsten Haendler and Josef Frysak},
title={Deconstructing the Refactoring Process from a Problem-solving and Decision-making Perspective},
booktitle={Proceedings of the 13th International Conference on Software Technologies - Volume 1: ICSOFT,},
year={2018},
pages={363-372},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006915903630372},
isbn={978-989-758-320-9},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 13th International Conference on Software Technologies - Volume 1: ICSOFT,
TI - Deconstructing the Refactoring Process from a Problem-solving and Decision-making Perspective
SN - 978-989-758-320-9
AU - Haendler T.
AU - Frysak J.
PY - 2018
SP - 363
EP - 372
DO - 10.5220/0006915903630372