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.

Rascal, program analysis, rewriting logic
Testing and Debugging (acm D.2.5), Software/Program Verification (acm D.2.4), Semantics of Programming Languages (acm F.3.2)
Software (theme 1)
F. Durán
Lecture Notes in Computer Science
Domain Specific Languages: A Big Future for Small Programs
International Workshop on Rewriting Logic and its Applications
An invited paper for WRLA 2012, describing our work on program analysis and comparing our approach to approaches based on rewriting logic semantics.
Software Analysis and Transformation

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.