Issue No. 05 - October (1994 vol. 6)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/69.317699
<p>Software complexity measures are quantitative estimates of the amount of effort required by a programmer to comprehend a piece of code. Many measures have been designed for standard procedural languages, but little work has been done to apply software complexity concepts to nontraditional programming paradigms. This paper presents a collection of software complexity measures that were specifically designed to quantify the conceptual complexity of rule-based programs. These measures are divided into two classes: bulk measures, which estimate complexity by examining aspects of program size, and rule measures, which gauge complexity based on the ways in which program rules interact with data and other rules. A pilot study was conducted to assess the effectiveness of these measures. Several measures were found to correlate well with the study participants' ratings of program difficulty and the time required by them to answer questions that required comprehension of program elements. The physical order of program rules was also shown to affect comprehension. The authors conclude that the development of software complexity measures for particular programming paradigms may lead to better tools for managing program development and predicting maintenance effort in nontraditional programming environments.</p>
software metrics; expert systems; software maintenance; software tools; rule-based programs; software complexity measures; quantitative estimates; code understanding; standard procedural languages; software complexity; bulk measures; complexity estimation; program size; rule measures; program difficulty; program development management; software maintenance; software tools; expert systems
M. O'Neal and W. Edwards, "Complexity Measures for Rule-Based Programs," in IEEE Transactions on Knowledge & Data Engineering, vol. 6, no. , pp. 669-680, 1994.