Skip to main content Skip to main navigation

Publication

An Investigation of the Applicability of Terminological Reasoning to Application-Independent Software-Analysis

Holger Peine
DFKI, DFKI Documents (D), Vol. 92-13, 1992.

Abstract

This work is a first investigation of an observation noted as possibly promising: The problem of application-independent recognition of given elements from the architecture of an unknown software system to be analyzed can be conceived as a special case of the classification problem in a terminological reasoning system if supplied with a suitably defined taxonomy for software-elements. This problem, however, has been solved in certain terminological reasoning systems (TRSs). To the end of investigating this idea, the availability of a TRS was necessary (provided at DFKI by virtue of the KRIS-system) as well as stating clearly the envisaged application independent software-elements, followed by a concept taxonomy expressible in KRIS and delivering the desired results. Furthermore, a tool had to be developed to analyze software (i.e., the source code) and generate the input information for the taxonomy from that. Stating application-independent complete and correct conditions for the role of an element within a software system turned out to be feasible for only a few basic concepts, because software employs at least up to now too few standardized concepts. The translation of the feasible concepts to KRIS resulted in problems of the expressive power of TRSs that were recognized as fundamental. The root of this problem spawned a new language construction for KRIS. Under the assumption of this new construction, a taxonomy of software-elements was formulated. However, as the incorporation of this construct, while recognized as feasible, would exceed the scope of this work and is therefore still to come, it has not been possible so far to test the formulated taxonomy. Hoping this will become possible in the future, the tool for input generation was developed nonetheless. The chosen programming language to be processed is C, as there was an initial tool already available for it. Thus the concluding judgment of this investigation is still to come.