Rascal is a meta programming language focused on the implementation of domain-specific languages and on the rapid construction of tools for software analysis and software transformation. In this paper we focus on the use of Rascal for software analysis. We illustrate a range of scenarios for building new software analysis tools through a number of examples, including one showing integration with an existing Maude-based analysis. We then focus on ongoing work on alias analysis and type inference for PHP, showing how Rascal is being used, and sketching a hypothetical solution in Maude. We conclude with a high-level discussion on the commonalities and differences between Rascal and Maude when applied to program analysis.

Additional Metadata
Keywords Rascal, program analysis, rewriting logic
ACM Testing and Debugging (acm D.2.5), Software/Program Verification (acm D.2.4), Semantics of Programming Languages (acm F.3.2)
THEME Software (theme 1)
Publisher Springer
Editor F. Durán
ISBN 978-3-642-34004-8
Series Lecture Notes in Computer Science
Project Domain Specific Languages: A Big Future for Small Programs
Conference International Workshop on Rewriting Logic and its Applications
Note An invited paper for WRLA 2012, describing our work on program analysis and comparing our approach to approaches based on rewriting logic semantics.
Hills, M.A, Klint, P, & Vinju, J.J. (2012). Program Analysis Scenarios in Rascal. In F Durán (Ed.), Lecture Notes in Computer Science. Springer.