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.Universidad de Málaga (grants B1-2020_01 and B4...
ContextInsufficient code understandability makes software difficult to inspect and maintain and is a...
This chapter presents the analysis of ten recently proposed object-oriented metrics based on cogniti...
In modern era, the biggest challenge facing the software industry is the upcoming of new technologie...
The cognitive complexity of a software application determines the amount of human effort required to...
This paper proposes a model for calculating cognitive complexity of a code. This model considers all...
Software cognitive complexity refers to how demanding the mental process of performing tasks such as...
Software’s structure profoundly affects its development and maintenance costs. Poor software’s struc...
Context: Software comprehension and maintenance activities, such as refactoring, are said to be nega...
Object orientation has gained a wide adoption in the software development community. To this end, di...
Inherited complexity is one of the difficult tasks in software engineering field. Further, it is sai...
Large software development companies primarily deliver value to their customers by continuously enha...
Abstract - One of the central problems in software engineering is the inherent complexity. Since sof...
Maintenance is inevitable for almost any software. Software maintenance is required to fix bugs, to ...
Abstract: Software Refactoring consists in reconstructing the code design of an object- oriented s...
The complexity management of software code has become one of the major problems in software developm...
ContextInsufficient code understandability makes software difficult to inspect and maintain and is a...
This chapter presents the analysis of ten recently proposed object-oriented metrics based on cogniti...
In modern era, the biggest challenge facing the software industry is the upcoming of new technologie...
The cognitive complexity of a software application determines the amount of human effort required to...
This paper proposes a model for calculating cognitive complexity of a code. This model considers all...
Software cognitive complexity refers to how demanding the mental process of performing tasks such as...
Software’s structure profoundly affects its development and maintenance costs. Poor software’s struc...
Context: Software comprehension and maintenance activities, such as refactoring, are said to be nega...
Object orientation has gained a wide adoption in the software development community. To this end, di...
Inherited complexity is one of the difficult tasks in software engineering field. Further, it is sai...
Large software development companies primarily deliver value to their customers by continuously enha...
Abstract - One of the central problems in software engineering is the inherent complexity. Since sof...
Maintenance is inevitable for almost any software. Software maintenance is required to fix bugs, to ...
Abstract: Software Refactoring consists in reconstructing the code design of an object- oriented s...
The complexity management of software code has become one of the major problems in software developm...
ContextInsufficient code understandability makes software difficult to inspect and maintain and is a...
This chapter presents the analysis of ten recently proposed object-oriented metrics based on cogniti...
In modern era, the biggest challenge facing the software industry is the upcoming of new technologie...