RASCAL : a domain specific language for source code analysis and manipulationa

P. Klint, T. Storm, van der, J.J. Vinju

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    190 Citations (Scopus)

    Abstract

    Many automated software engineering tools require tight integration of techniques for source code analysis and manipulation. State-of-the-art tools exist for both, but the domains have remained notoriously separate because different computational paradigms fit each domain best. This impedance mismatch hampers the development of new solutions because the desired functionality and scalability can only be achieved by repeated and ad hoc integration of different techniques. Rascal is a domain-specific language that takes away most of this boilerplate by integrating source code analysis and manipulation at the conceptual, syntactic, semantic and technical level. We give an overview of the language and assess its merits by implementing a complex refactoring. Keywords: source code analysis, source code manipulation, meta-programming, transformation
    Original languageEnglish
    Title of host publicationProceedings of the Ninth IEEE International Working Conference on Source Code Analysis and Manipulation, September 20-21, 2009, Edmonton, Canada
    Place of PublicationBrussels
    PublisherIEEE Computer Society
    Pages168-177
    ISBN (Print)978-0-7695-3793-1
    DOIs
    Publication statusPublished - 2009
    Eventconference; Ninth IEEE International Working Conference on Source Code Analysis and Manipulation; 2009-09-20; 2009-09-21 -
    Duration: 20 Sep 200921 Sep 2009

    Conference

    Conferenceconference; Ninth IEEE International Working Conference on Source Code Analysis and Manipulation; 2009-09-20; 2009-09-21
    Period20/09/0921/09/09
    OtherNinth IEEE International Working Conference on Source Code Analysis and Manipulation

    Fingerprint Dive into the research topics of 'RASCAL : a domain specific language for source code analysis and manipulationa'. Together they form a unique fingerprint.

    Cite this