Cognitive-Driven Development: Preliminary Results on Software Refactorings

Victor Pinto, Victor Pinto, Alberto Tavares de Souza, Yuri Barboza de Oliveira, Danilo Ribeiro

Abstract

Refactoring is a maintenance activity intended to restructure code to improve different quality attributes without changing its observable behavior. However, if this activity is not guided by a clear purpose such as reducing complexity and the coupling between objects, there is a risk that the source code can become worse than the previous version. Developers often lose sight of the business problems being solved and forget the importance of managing complexity. As a result, after refactorings many software parts continue to have low readability levels. Cognitive-Driven Development (CDD) is our recent strategy for reducing cognitive overload during development when improving the code design. This paper provides an experimental study carried out in an industrial context to evaluate refactorings through the use of conventional practices guided by a cognitive constraint for complexity, a principle pointed out by CDD. Eighteen experienced participants took part in this experiment. Different software metrics were employed through static analysis, such as CBO (Coupling between objects), WMC (Weight Method Class), RFC (Response for a Class), LCOM (Lack of Cohesion of Methods) and LOC (Lines of Code). The result suggests that CDD can guide the restructuring process since it is designed to obtain a coherent and balanced separation of concerns.

Download


Paper Citation


in Harvard Style

Pinto V., Tavares de Souza A., Barboza de Oliveira Y. and Ribeiro D. (2021). Cognitive-Driven Development: Preliminary Results on Software Refactorings. In Proceedings of the 16th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-508-1, pages 92-102. DOI: 10.5220/0010408100920102


in Bibtex Style

@conference{enase21,
author={Victor Pinto and Alberto Tavares de Souza and Yuri Barboza de Oliveira and Danilo Ribeiro},
title={Cognitive-Driven Development: Preliminary Results on Software Refactorings},
booktitle={Proceedings of the 16th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2021},
pages={92-102},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0010408100920102},
isbn={978-989-758-508-1},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 16th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Cognitive-Driven Development: Preliminary Results on Software Refactorings
SN - 978-989-758-508-1
AU - Pinto V.
AU - Tavares de Souza A.
AU - Barboza de Oliveira Y.
AU - Ribeiro D.
PY - 2021
SP - 92
EP - 102
DO - 10.5220/0010408100920102