On the Relation between Complexity, Explicitness, Effectiveness of Refactorings and Non-Functional Concerns

Bibliographic Details
Main Author: Soares V.
Publication Date: 2020
Other Authors: Oliveira A., Pereira J.A., Bibano A.C., Garcia A., Vergilio S.R., Schots M., Farah, Paulo Roberto, Silva C., Coutinho D., Oliveira D., Uchoa A.
Format: Conference object
Language: eng
Source: Repositório Institucional da Udesc
dARK ID: ark:/33523/0013000009rqv
Download full: https://repositorio.udesc.br/handle/UDESC/4411
Summary: © 2020 ACM.Developers need to consistently improve the internal structural quality of a program to address its maintainability and possibly other non-functional concerns. Refactoring is the main practice to improve code quality. Typical refactoring factors, such as their complexity and explicitness (i.e., their self-Affirmation), may influence its effectiveness in improving key internal code attributes, such as enhancing cohesion or reducing its coupling, complexity and size. However, we still lack an understanding of whether such concerns and factors play a role on improving the code structural quality. Thus, this paper investigates the relationship between complexity, explicitness and effectiveness of refactorings and non-functional concerns in four projects. We study four non-functional concerns, namely maintainability, security, performance, and robustness. Our findings reveal that complex refactorings indeed have an impactful effect on the code structure, either improving or reducing the code structural quality. We also found that both self-Affirmed refactorings and non-functional concerns are usually accompanied by complex refactorings, but tend to have a negative effect on code structural quality. Our findings can: (i) help researchers to improve the design of empirical studies and refactoring-related tools, and (ii) warn practitioners on which circumstances their refactorings may cause a negative impact on code quality.
id UDESC-2_9f5d0e030fe07be5badc1c93d9a9b897
oai_identifier_str oai:repositorio.udesc.br:UDESC/4411
network_acronym_str UDESC-2
network_name_str Repositório Institucional da Udesc
repository_id_str 6391
spelling On the Relation between Complexity, Explicitness, Effectiveness of Refactorings and Non-Functional Concerns© 2020 ACM.Developers need to consistently improve the internal structural quality of a program to address its maintainability and possibly other non-functional concerns. Refactoring is the main practice to improve code quality. Typical refactoring factors, such as their complexity and explicitness (i.e., their self-Affirmation), may influence its effectiveness in improving key internal code attributes, such as enhancing cohesion or reducing its coupling, complexity and size. However, we still lack an understanding of whether such concerns and factors play a role on improving the code structural quality. Thus, this paper investigates the relationship between complexity, explicitness and effectiveness of refactorings and non-functional concerns in four projects. We study four non-functional concerns, namely maintainability, security, performance, and robustness. Our findings reveal that complex refactorings indeed have an impactful effect on the code structure, either improving or reducing the code structural quality. We also found that both self-Affirmed refactorings and non-functional concerns are usually accompanied by complex refactorings, but tend to have a negative effect on code structural quality. Our findings can: (i) help researchers to improve the design of empirical studies and refactoring-related tools, and (ii) warn practitioners on which circumstances their refactorings may cause a negative impact on code quality.2024-12-06T11:53:44Z2020info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/conferenceObjectp. 788 - 79710.1145/3422392.3422439https://repositorio.udesc.br/handle/UDESC/4411ark:/33523/0013000009rqvACM International Conference Proceeding SeriesSoares V.Oliveira A.Pereira J.A.Bibano A.C.Garcia A.Vergilio S.R.Schots M.Farah, Paulo RobertoSilva C.Coutinho D.Oliveira D.Uchoa A.engreponame:Repositório Institucional da Udescinstname:Universidade do Estado de Santa Catarina (UDESC)instacron:UDESCinfo:eu-repo/semantics/openAccess2024-12-07T20:44:34Zoai:repositorio.udesc.br:UDESC/4411Biblioteca Digital de Teses e Dissertaçõeshttps://pergamumweb.udesc.br/biblioteca/index.phpPRIhttps://repositorio-api.udesc.br/server/oai/requestri@udesc.bropendoar:63912024-12-07T20:44:34Repositório Institucional da Udesc - Universidade do Estado de Santa Catarina (UDESC)false
dc.title.none.fl_str_mv On the Relation between Complexity, Explicitness, Effectiveness of Refactorings and Non-Functional Concerns
title On the Relation between Complexity, Explicitness, Effectiveness of Refactorings and Non-Functional Concerns
spellingShingle On the Relation between Complexity, Explicitness, Effectiveness of Refactorings and Non-Functional Concerns
Soares V.
title_short On the Relation between Complexity, Explicitness, Effectiveness of Refactorings and Non-Functional Concerns
title_full On the Relation between Complexity, Explicitness, Effectiveness of Refactorings and Non-Functional Concerns
title_fullStr On the Relation between Complexity, Explicitness, Effectiveness of Refactorings and Non-Functional Concerns
title_full_unstemmed On the Relation between Complexity, Explicitness, Effectiveness of Refactorings and Non-Functional Concerns
title_sort On the Relation between Complexity, Explicitness, Effectiveness of Refactorings and Non-Functional Concerns
author Soares V.
author_facet Soares V.
Oliveira A.
Pereira J.A.
Bibano A.C.
Garcia A.
Vergilio S.R.
Schots M.
Farah, Paulo Roberto
Silva C.
Coutinho D.
Oliveira D.
Uchoa A.
author_role author
author2 Oliveira A.
Pereira J.A.
Bibano A.C.
Garcia A.
Vergilio S.R.
Schots M.
Farah, Paulo Roberto
Silva C.
Coutinho D.
Oliveira D.
Uchoa A.
author2_role author
author
author
author
author
author
author
author
author
author
author
dc.contributor.author.fl_str_mv Soares V.
Oliveira A.
Pereira J.A.
Bibano A.C.
Garcia A.
Vergilio S.R.
Schots M.
Farah, Paulo Roberto
Silva C.
Coutinho D.
Oliveira D.
Uchoa A.
description © 2020 ACM.Developers need to consistently improve the internal structural quality of a program to address its maintainability and possibly other non-functional concerns. Refactoring is the main practice to improve code quality. Typical refactoring factors, such as their complexity and explicitness (i.e., their self-Affirmation), may influence its effectiveness in improving key internal code attributes, such as enhancing cohesion or reducing its coupling, complexity and size. However, we still lack an understanding of whether such concerns and factors play a role on improving the code structural quality. Thus, this paper investigates the relationship between complexity, explicitness and effectiveness of refactorings and non-functional concerns in four projects. We study four non-functional concerns, namely maintainability, security, performance, and robustness. Our findings reveal that complex refactorings indeed have an impactful effect on the code structure, either improving or reducing the code structural quality. We also found that both self-Affirmed refactorings and non-functional concerns are usually accompanied by complex refactorings, but tend to have a negative effect on code structural quality. Our findings can: (i) help researchers to improve the design of empirical studies and refactoring-related tools, and (ii) warn practitioners on which circumstances their refactorings may cause a negative impact on code quality.
publishDate 2020
dc.date.none.fl_str_mv 2020
2024-12-06T11:53:44Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/conferenceObject
format conferenceObject
status_str publishedVersion
dc.identifier.uri.fl_str_mv 10.1145/3422392.3422439
https://repositorio.udesc.br/handle/UDESC/4411
dc.identifier.dark.fl_str_mv ark:/33523/0013000009rqv
identifier_str_mv 10.1145/3422392.3422439
ark:/33523/0013000009rqv
url https://repositorio.udesc.br/handle/UDESC/4411
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv ACM International Conference Proceeding Series
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv p. 788 - 797
dc.source.none.fl_str_mv reponame:Repositório Institucional da Udesc
instname:Universidade do Estado de Santa Catarina (UDESC)
instacron:UDESC
instname_str Universidade do Estado de Santa Catarina (UDESC)
instacron_str UDESC
institution UDESC
reponame_str Repositório Institucional da Udesc
collection Repositório Institucional da Udesc
repository.name.fl_str_mv Repositório Institucional da Udesc - Universidade do Estado de Santa Catarina (UDESC)
repository.mail.fl_str_mv ri@udesc.br
_version_ 1848168360645230592