SOFTM: A software maintenance expert system in Prolog

Abstract
This paper describes a software maintenance knowledge‐based system called SOFTM, which serves the three following purposes: (1) assisting a software programmer or analyst in application code maintenance tasks and reverse engineering, (2) generating and updating automatically software correction documentation, (3) helping the end user register, and possibly interpret, observed errors on the successive application code versions. The knowledge‐based system SOFTM is written in Prolog II, and is largely applicable to application codes written in different programming languages, provided that a description of the application code can be retrieved. SOFTM does not address any of the syntactic, input‐output, or procedural errors normally detected by the syntactic analyser, the compiler, or the operating system environment, although some of these extensions are possible. SOFTM is relying on a unique augmented transition network‐based code description, on diagnostic inference procedures based on context‐based pattern classification, on maintenance log report generators, and on interfacing capabilities of Prolog II to a variety of other languages. It also incorporates features whereby application code specific facts can be retrieved by the operating system (VMS) using a command procedure and asserted directly in the SOFTM knowledge bases. An application case is given for FORTRAN code.

This publication has 12 references indexed in Scilit: