Worcester Polytechnic Institute Electronic Theses and Dissertations Collection

Title page for ETD etd-0429103-152947

Document Typethesis
Author NameCalnan, III, Paul W.
TitleEXTRACT: Extensible Transformation and Compiler Technology
DepartmentComputer Science
  • George T. Heineman, Advisor
  • Lee A. Becker, Reader
  • Keywords
  • code transformation
  • Java programming language
  • compilers
  • Date of Presentation/Defense2003-04-25
    Availability unrestricted


    Code transformation is widely used in programming. Most developers are familiar with using a preprocessor to perform syntactic transformations (symbol substitution and macro expansion). However, it is often necessary to perform more complex transformations using semantic information contained in the source code.

    In this thesis, we developed EXTRACT; a general-purpose code transformation language. Using EXTRACT, it is possible to specify, in a modular and extensible manner, a variety of transformations on Java code such as insertion, removal, and restructuring. In support of this, we also developed JPath, a path language for identifying portions of Java source code. Combined, these two technologies make it possible to identify source code that is to be transformed and then specify how that code is to be transformed.

    We evaluate our technology using three case studies: a type name qualifier which transforms Java class names into fully-qualified class names; a contract checker which enforces pre- and post-conditions across behavioral subtypes; and a code obfuscator which mangles the names of a class’s methods and fields such that they cannot be understood by a human, without breaking the semantic content of the class.

  • pcalnan.pdf

  • Browse by Author | Browse by Department | Search all available ETDs

    [WPI] [Library] [Home] [Top]

    Questions? Email etd-questions@wpi.edu
    Maintained by webmaster@wpi.edu