Please use this identifier to cite or link to this item:
https://dl.ucsc.cmb.ac.lk/jspui/handle/123456789/4774
Title: | A Study on the Cognitive Complexity Metric of a Software |
Authors: | Wijendra, D. R. |
Issue Date: | 2023 |
Abstract: | Abstract The cognitive complexity of a software determines the effort required to understand its source code logic. It can be used to indicate understandability and maintainability, which are predominant quality attributes in software development process. Further, personal profile and source code factors can be stated as major factors associated with cognitive complexity. The inclusion of personal profile results cognitive complexity to be a subjective measurement. However, traditional methods of expressing cognitive complexity are limited only to source code factors to express it as an objective measurement. Moreover, a methodology of relating cognitive complexity to indicate understandability and maintainability cannot be observed. As such, this work has studied the mechanisms of applying cognitive complexity in software development and maintenance processes effectively. Accordingly, the procedures of reducing cognitive complexity to improve understandability and maintainability have been introduced. Expression of cognitive complexity by giving more impact in personal profile is a significant achievement of this research work. The usage of software requirements, its logical diagrams, defects tracing, code quality optimization and refactoring have been introduced as cognitive complexity reduction mechanisms. Those mechanisms have been designed using a computational aid. A meaningful cognitive complexity metric has also been introduced to quantitatively indicate cognitive complexity by considering both personal profile and source code factors. The personal factor involvement of the metric has been introduced using a subjective cognitive weight. The components of reducing cognitive complexity have been evaluated with the duration taken to understand a source code. Accordingly, significant duration reduction has been obtained from proposed components comparing to the current practices to process same scenarios. Therefore, the possibility of proposed mechanisms to gain a less comprehension effort and to achieve a less cognitive complexity can be verified. The proposed cognitive complexity metric has been practically and empirically verified through standard software metric frameworks to prove its stability in real applications. Hence, together with the design to attain a lesser cognitive complexity and the metric to quantitatively indicate the subjective user comprehension effort can be used as significant appliances in software engineering. Keywords: cognitive complexity, cognitive complexity metric, cognitive load, cognitive weight, maintainability, subjectivity, understandability |
URI: | https://dl.ucsc.cmb.ac.lk/jspui/handle/123456789/4774 |
Appears in Collections: | 2023 |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
PhD_DR Wijendra2023.pdf | 4.75 MB | Adobe PDF | View/Open |
Items in UCSC Digital Library are protected by copyright, with all rights reserved, unless otherwise indicated.