Font Size: a A A

Conceptual complexity measures and software maintenance tools for rule-based program

Posted on:1990-12-21Degree:Ph.DType:Dissertation
University:University of Southwestern LouisianaCandidate:O'Neal, Micheal BFull Text:PDF
GTID:1478390017453795Subject:Computer Science
Abstract/Summary:
This paper presents an approach for measuring and controlling the conceptual complexity of rule-based programs. A program representation, a collection of complexity measures, and a workbench of software maintenance tools are described.;The program representation consists of transformations and an abstracted initial working memory configuration. Our representation does not retain knowledge of the individual facts stored in working memory. Instead, all of the facts that belong to the same class are abstracted into a single conceptual object. Transformations are rule abstractions that retain knowledge of the conceptual objects matched, created, and modified by a rule.;Ten conceptual complexity measures, based on our program representation, were defined. These measures were divided into three broad classes: bulk measures, which measure program size; rule measures, which measure the degree of complexity within and between program rules; and group measures, which are concerned with the complexity of collections of rules.;Restricted Flow Graphs (RFG) were defined for rule-based programs, and algorithms for their computation were presented. These graphs consist of nodes representing abstracted working memory configurations together with edges that represent program rules. These graphs are designed to capture the way rule-based programs execute and are analogous to control flow graphs for procedural programs. A measure of RFG complexity based on McCabe's measure was defined.;A workbench of software maintenance tools was developed from the measures of conceptual complexity. The Bulk Analysis Tool computes and displays a summary of the bulk measures for a program, together with the names of the conceptual objects used by that program and their frequency of occurrence. Similarly, the Rule Summary Tool presents the rule-based measures for each rules in the program being analyzed. The Rule Analysis Tool displays a graphical representation of the way in which a single rule interacts with other rules in a program, through the conceptual objects it manipulates. All of these tools were implemented in C on Sun workstations and are fully integrated into the SunWindows environment.;A pilot study was conducted to determine the applicability of the measures and the effectiveness of the tools. Several of the measures correlated well with participant responses.
Keywords/Search Tags:Measures, Program, Conceptual complexity, Rule, Software maintenance tools
Related items