Automatizing Software Cognitive Complexity Reduction.

dc.centroE.T.S.I. Informáticaes_ES
dc.contributor.authorSaborido Infantes, Rubén
dc.contributor.authorFerrer-Urbano, Francisco Javier
dc.contributor.authorChicano-García, José-Francisco
dc.contributor.authorAlba-Torres, Enrique
dc.date.accessioned2023-10-13T09:47:40Z
dc.date.available2023-10-13T09:47:40Z
dc.date.created2023-09
dc.date.issued2023
dc.departamentoInstituto de Tecnología e Ingeniería del Software de la Universidad de Málaga
dc.description.abstractSoftware plays a central role in our life nowadays. We use it almost anywhere, at any time, and for everything: to browse the In- ternet, to check our emails, and even to access critical services such as health monitoring and banking. Hence, its reliability and general quality is critical. As software increases in complexity, developers spend more time fixing bugs or making code work rather than designing or writing new code. Thus, improving software understandability and maintainability would translate into an economic relief over the total cost of a project. Different cognitive complexity measures have been proposed to quantify the understandability of a piece of code and, therefore, its maintainability. However, the cognitive complexity metric provided by SonarSource and integrated in SonarCloud and SonarQube is quickly spreading in the software industry due to the popularity of these well-known static code tools for evaluating software quality. Despite SonarQube suggests to keep method’s cognitive complexity no greater than 15, reducing method’s complexity is challenging for a human programmer and there are no approaches to assist developers on this task. We model the cognitive complexity reduction of a method as an optimization problem where the search space contains all sequences of Extract Method refactoring opportunities. We then propose a novel approach that searches for feasible code extractions allowing developers to apply them, all in an automated way. This will allow software developers to make informed decisions while reducing the complexity of their code. We evaluated our approach over 10 open-source software projects and was able to fix 78% of the 1,050 existing cognitive complexity issues reported by SonarQube. We finally discuss the limitations of the proposed approach and provide interesting findings and guidelines for developers.es_ES
dc.description.sponsorshipUniversidad de Málaga, Junta de Andalucía (POSTDOC_21_00567). Universidad de Málaga. Campus de Excelencia Internacional Andalucía Tech.es_ES
dc.identifier.urihttps://hdl.handle.net/10630/27821
dc.language.isoenges_ES
dc.relation.eventdate12 a 14 de septiembre de 2023es_ES
dc.relation.eventplaceCiudad Real, Españaes_ES
dc.relation.eventtitleJornadas SISTEDESes_ES
dc.rightsAtribución 4.0 Internacional*
dc.rights.accessRightsopen accesses_ES
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/*
dc.subjectIngeniería del softwarees_ES
dc.subject.otherSoftware qualityes_ES
dc.subject.otherSoftware maintenancees_ES
dc.subject.otherOptimizationes_ES
dc.titleAutomatizing Software Cognitive Complexity Reduction.es_ES
dc.typeconference outputes_ES
dspace.entity.typePublication
relation.isAuthorOfPublicationdf230001-ab0c-4da1-a259-1de6e247bb42
relation.isAuthorOfPublication6f65e289-6502-4756-871c-dbe0ca9be545
relation.isAuthorOfPublicatione8596ab5-92f0-420d-a394-17d128c965da
relation.isAuthorOfPublication.latestForDiscoverydf230001-ab0c-4da1-a259-1de6e247bb42

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
11705-JISBD-2023-1679.pdf
Size:
130.65 KB
Format:
Adobe Portable Document Format
Description:
Resumen de un artículo ya publicado
Download

Description: Resumen de un artículo ya publicado