Title :
Structural and behavioral code representation for program understanding
Author :
Merlo, E. ; Kontogiannis, K. ; Girard, J.F.
Author_Institution :
Centre de Recherche Inf. de Montreal, Que., Canada
Abstract :
Methodologies which could assist the software maintainer are reported, with emphasis on an approach which combines structural and behavioral representation of the code. Structural representation occurs at lower levels of abstraction and uses compiler technology techniques, graph parsing, abstract syntax trees, and control and data flow. Behavioral representation can be achieved at higher levels of abstraction by using some formal representation of source code semantics, such as process algebra, lambda calculus, or denotational semantics. The complexity, concurrency, and interaction levels of the system are good indicators of the best formalism to be chosen. Artificial intelligence techniques can be used to define semantic distances between different behavioral representation plans in order to achieve a full or partial match of the source code to the underlying specifications
Keywords :
computational complexity; grammars; program compilers; software maintenance; tree data structures; abstract syntax trees; artificial intelligence; behavioral code representation; behavioral representation; compiler; complexity; concurrency; denotational semantics; formal representation; graph parsing; interaction levels; lambda calculus; process algebra; program understanding; software maintainer; source code semantics; structural code representation; Algebra; Artificial intelligence; Calculus; Concurrent computing; Data engineering; Flow graphs; Hardware; Maintenance engineering; Performance analysis; Tree graphs;
Conference_Titel :
Computer-Aided Software Engineering, 1992. Proceedings., Fifth International Workshop on
Conference_Location :
Montreal, Que.
Print_ISBN :
0-8186-2960-6
DOI :
10.1109/CASE.1992.200136