Expert Systems in Software Maintainability

This paper addresses the problem of planning for software maintainability by considering the application of rule-based or "expert systems," which are programs capable of simulating the problem-solving behavior of a human planner by using rules derived from previous experience and empirical observation. The development of a rule-based system for planning for software maintainability is described. Factors such as software design, number of copies of the software, distribution of the user base, the expectations and skill level of users of the software, and the expected frequency and complexity of calls from users for assistance can be taken into account in order to optimize the cost of maintaining software. The components of the system, the identification or derivation of the rules to be applied, and the interaction of such a system with the planner are shown. The advantages and limitations of this approach are examined, and the possible applications of rule based systems to other aspects of planning for software maintainability are discussed.