Software reverse engineering refers to the process of discovering how a system works. Its aim is to recover system components and their relationships. It encompasses a wide range of tasks related to the creation of a high-level abstraction of software systems. This paper presents a comprehensive expert system for software reverse engineering. The architecture of the expert system consists of several knowledge sources and a blackboard data.The knowledge sources are represented as production rules transforming a relational database model into a high-level, conceptual, and semantic schemas. The blackboard data representing the schema to be transformed are structured as an extended Entity Relationship model. Decision tables are provided to structure the rules to be used during the reverse engineering process. Our expert system methodology has been applied to several fairly complex case studies and proved to be robust and easy to implement.
AKOKA, J. and COMYN-WATTIAU, I. (1998). MeRCI: An Expert System for Software Reverse Engineering. In: 4World Congress on Expert Systems Application of Advanced Information Technologies. Cognizant Communication Corporation, pp. 209-217.