Abstract:
Cognitive complexity measures quantify human difficulty in understanding the source code based on cognitive informatics foundation. The discipline derives cognitive complexity on a basis of fundamental software factors i.e. inputs, outputs, and internal processing architecture. The invention of Cognitive Functional Size (CFS) stands out as the breakthrough to software complexity measures. Several subsequent researches have tried to enhance CFS to fully consider more factors, such as information contents in the form of identifiers and operators. However, these existing approaches quantify the factors separately without considering the relationships among them. This thesis presents an approach to integrating Granular Computing into the new measure called Structured Cognitive Information Measure or SCIM. The proposed measure unifies and re-organizes complexity factors analogous to human cognitive process. Empirical studies were conducted to evaluate the virtue of SCIM, including theoretical validation through nine Weyuker's properties. The universal applicability of granular computing concepts is also demonstrated. Additionally, the new inductive framework has been proposed to patch the holes of Weyuker’s properties, and used in the assessment of the cognitive complexity measures to analyze and guide directions for future improvement of the measures.