Refactoring is the process of improving a software system’s internal technical quality by modifying and restructuring 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.
|Titel des Sammelwerks||Proc. of the 13th International Conference on Software Technologies (ICSOFT 2018)|
|Seiten||363 - 372|
|Publikationsstatus||Veröffentlicht - 2018|
Österreichische Systematik der Wissenschaftszweige (ÖFOS)
- 102022 Softwareentwicklung
- 102015 Informationssysteme
- 502050 Wirtschaftsinformatik