Title :
Design recovery of a two level system
Author :
Dean, Thomas ; Chen, Yuling
Author_Institution :
Dept. of Electr. & Comput. Eng., Queen´´s Univ., Kingston, Ont., Canada
Abstract :
Many applications have one or more important modules that are written in a language other than conventional procedural or object oriented languages. These languages are often translated into some tabular or byte code representation which is executed by an interpreter. The interpreter is sometimes written in the same language as the rest of the application. Examples of such languages are yacc and Tcl. This paper investigates a technique for linking entities in the interpreted languages to their implementation in the interpreter. The technique is illustrated using the design recovery of a compiler that uses SISL, a grammar language similar to yacc. We present a model extracted from the compiler that links entities in SISL to the underlying implementation language and some example maintenance queries that might be posed for the system. Extracting the model requires recognizing idiomatic code in the interpreter. We then discuss how the technique might be extended to similar systems such as those implemented in Tcl.
Keywords :
program compilers; program interpreters; reverse engineering; Tcl; compiler; design recovery; grammar language; interpreter; two level system; yacc; Conferences; Counting circuits; Production; Runtime environment;
Conference_Titel :
Program Comprehension, 2003. 11th IEEE International Workshop on
Print_ISBN :
0-7695-1883-4
DOI :
10.1109/WPC.2003.1199186