Research on program comprehension is important,
because the amount of source code in mission-critical
applications is increasing world-wide.
As a solution for that challenge, a methodology with
four stages is introduced. The first stage,
GrammarWare, transforms the program into a symbolic
form to function as a construction for the model, as
the second stage, ModelWare. For the model the idea
of an "atom" is presented to combine the benefits of
objects for abstracting, and expressiveness of
Prolog for tailoring and formalizing the model.
The third stage, SimulationWare, implements a
symbolic abstract machine, comparable with
traditional Turing machine. With its computation
model it enables symbolic analysis, which is
comparable with dynamic analysis, but has a rather
flexible pragmatics. The last stage, KnowledgeWare,
is aimed for collecting knowledge for code
inspection, error detection and verification of
current operations.
The methodology is programmed with Visual Prolog and
implemented in a tool, which enables the handling of
Java code. The practical goal for the methodology is
intelligent support for maintenance tasks.
because the amount of source code in mission-critical
applications is increasing world-wide.
As a solution for that challenge, a methodology with
four stages is introduced. The first stage,
GrammarWare, transforms the program into a symbolic
form to function as a construction for the model, as
the second stage, ModelWare. For the model the idea
of an "atom" is presented to combine the benefits of
objects for abstracting, and expressiveness of
Prolog for tailoring and formalizing the model.
The third stage, SimulationWare, implements a
symbolic abstract machine, comparable with
traditional Turing machine. With its computation
model it enables symbolic analysis, which is
comparable with dynamic analysis, but has a rather
flexible pragmatics. The last stage, KnowledgeWare,
is aimed for collecting knowledge for code
inspection, error detection and verification of
current operations.
The methodology is programmed with Visual Prolog and
implemented in a tool, which enables the handling of
Java code. The practical goal for the methodology is
intelligent support for maintenance tasks.