Extracting Facts from Perl Code
Daniel L. Moise
Kenny Wong
Dept. of Comput. Sci., Alberta Univ.;
This paper appears in: Reverse Engineering, 2006. WCRE '06. 13th Working Conference on
Publication Date: Oct. 2006
On page(s): 243-252
Location: Benevento,
ISSN: 1095-1350
ISBN: 0-7695-2719-1
INSPEC Accession Number: 9308376
Digital Object Identifier: 10.1109/WCRE.2006.28
Current Version Published: 2006-12-11
Abstract
Scripting languages are popular in software development, for rapid prototyping and flexible software integration. Still, there has been relatively more effort spent on reverse engineering for traditional languages, like C, C++, and Java. Certain scripting languages, such as Perl, are notoriously difficult to understand. Consequently, reverse engineering for Perl code is very much needed. Nevertheless, the subtle constructs of the language make it challenging to develop a reliable fact extractor from scratch. Thus, we use the Perl interpreter implementation itself, since it is authoritative for the meaning of some Perl construct. An extractor component is inserted into the interpreter, to consult the internal data structures, and generate the desired facts in a static extraction technique. The facts conform to a schema that is represented in GXL and EMF XML-based formats. A case study evaluated how the extractor processed all the Perl modules provided with the Perl distribution source code
Index
Terms
Available to subscribers and IEEE members.
References
Available to subscribers and IEEE members.
Citing Documents
Available to subscribers and IEEE members.