Reverse Engineering Scripting Language Extensions

  • Authors:
  • Daniel L. Moise;Kenny Wong;H. James Hoover;Daqing Hou

  • Affiliations:
  • University of Alberta, Canada;University of Alberta, Canada;University of Alberta, Canada;Avra Software Lab. Inc.

  • Venue:
  • ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
  • Year:
  • 2006

Quantified Score

Hi-index 0.01

Visualization

Abstract

Software systems are often written in more than one programming language. During development, programmers need to understand not only the dependencies among code in a particular language, but dependencies that span languages. In this paper, we focus on the problem of scripting languages (such as Perl) and their extension mechanisms to calling functions with a C interface. Our general approach involves building a fact extractor for each scripting language, by hooking into the language interpreter itself. The produced facts conform to a common schema, and an analyzer is extended to recognize the cross-language dependencies. We present how these statically discovered dependencies can be represented, visualized, and explored in the Eclipse environment.