Cognitive Load Analyzer: A Support Tool for Cognitive-Driven Development - Pereira, Jherson Haryson A.; Souza, Alberto Luiz Oliveira Tavares de; Pinto, Victor Hugo Santiago C. (Anais do Simpósio Brasileiro de Engenharia de Software (SBES), 2021)
Software modularity refers to the decomposition of complex software to be manageable for the purpose of implementation and maintenance. Most methodologies and practices adopted in the industry follow this principle, often with the benefit of flexibility and variety in use. This is also a recognition that human work can be improved by focus on a limited set of data. However, code more complex than needed continues being produced resulting in cognitive overload for developers. Cognitive-Driven Development (CDD) is an inspiration from the Cognitive Load Theory for software development with the goal of reducing the split-attention effect and the problem space through a feasible cognitive complexity constraint. Implementation units can be kept under this limit even with the continuous expansion of software scale. Experimental studies were carried out and their results suggested that CDD is a promising method when guiding the development focusing on understanding and achieving high-quality code with respect to the quality metrics. In this paper, we present a tool called “Cognitive Load Analyzer” to support the CDD, a plugin for IntelliJ IDEA and Java language. This tool can be useful to support the adoption of the CDD aiming to overcome the to slice the code and help developers to reduce code complexity.