Program Analysis Scenarios in Rascal
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.
|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)|
|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.