Premium
Reverse engineering: Algorithms for program graph production
Author(s) -
Cimitile Aniello,
de Carlini Ugo
Publication year - 1991
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380210507
Subject(s) - reverse engineering , computer science , documentation , program comprehension , graph , programming language , program analysis , program synthesis , algorithm , representation (politics) , set (abstract data type) , theoretical computer science , software engineering , software , software system , politics , political science , law
The paper proposes an algebraic representation of program modules, called F(p) , and illustrates the algorithms that use F(p) to generate program graph models for measurement, documentation and testing activities. The representation refers to procedural languages, D‐structured programs and one‐in/one‐out modules but its definition can be extended to programs structured in terms of an arbitrary set of one‐in/one‐out legal control structures. Since it is possible to produce F(p) directly from the program code using reverse engineering techniques, the algorithms proposed are of considerable interest for the setting up of tools supporting the program comprehension phase, which is a fundamental first step in any maintenance operation.