RLSRunner: Linking Rascal with K for Program Analysis

  • Mark Hills
  • Paul Klint
  • Jurgen J. Vinju
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6940)

Abstract

The Rascal meta-programming language provides a number of features supporting the development of program analysis tools. However, sometimes the analysis to be developed is already implemented by another system. In this case, Rascal can provide a useful front-end for this system, handling the parsing of the input program, any transformation (if needed) of this program into individual analysis tasks, and the display of the results generated by the analysis. In this paper we describe a tool, RLSRunner, which provides this integration with static analysis tools defined using the K framework, a rewriting-based framework for defining the semantics of programming languages.

Keywords

Analysis Task Parse Tree Concrete Syntax Type Annotation Static Analysis Tool 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
  2. 2.
    Borras, P., Clement, D., Despeyroux, T., Incerpi, J., Kahn, G., Lang, B., Pascual, V.: CENTAUR: the system. In: Proceedings of SDE 3, pp. 14–24. ACM Press (1988)Google Scholar
  3. 3.
    Burdy, L., Cheon, Y., Cok, D.R., Ernst, M.D., Kiniry, J., Leavens, G.T., Leino, K.R.M., Poll, E.: An overview of JML tools and applications. In: Proceedings of FMICS 2003. ENTCS, vol. 80, pp. 75–91 (2003)Google Scholar
  4. 4.
    Charles, P., Fuhrer, R.M., Sutton Jr., S.M.: IMP: A Meta-Tooling Platform for Creating Language-Specific IDEs in Eclipse. In: Proceedings of ASE 2007, pp. 485–488. ACM Press, New York (2007)Google Scholar
  5. 5.
    Charles, P., Fuhrer, R.M., Sutton Jr., S.M., Duesterwald, E., Vinju, J.J.: Accelerating the Creation of Customized, Language-Specific IDEs in Eclipse. In: Proceedings of OOPSLA 2009, pp. 191–206. ACM (2009)Google Scholar
  6. 6.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.L. (eds.): All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)MATHGoogle Scholar
  7. 7.
    Heering, J., Klint, P.: Rewriting-based Languages and Systems. Cambridge Tracts in Theoretical Computer Science, vol. 55, pp. 776–789. Cambridge University Press (2003)Google Scholar
  8. 8.
    Hills, M.: A Modular Rewriting Approach to Language Design, Evolution and Analysis. PhD thesis, University of Illinois at Urbana-Champaign (2009)Google Scholar
  9. 9.
    Hills, M., Chen, F., Roşu, G.: Pluggable Policies for C. Technical Report UIUCDCS-R-2008-2931, Department of Computer Science, University of Illinois at Urbana-Champaign (2008)Google Scholar
  10. 10.
    Hills, M., Şerbănuţă, T.F., Roşu, G.: A Rewrite Framework for Language Definitions and for Generation of Efficient Interpreters. In: Proceedings of WRLA 2006. ENTCS, vol. 176, pp. 215–231. Elsevier (2007)Google Scholar
  11. 11.
    Hills, M., Roşu, G.: A Rewriting Logic Semantics Approach To Modular Program Analysis. In: Proceedings of RTA 2010. Leibniz International Proceedings in Informatics, vol. 6, pp. 151–160. Schloss Dagstuhl - Leibniz Center of Informatics (2010)Google Scholar
  12. 12.
    Klint, P., van der Storm, T., Vinju, J.: RASCAL: A Domain Specific Language for Source Code Analysis and Manipulation. In: Proceedings of SCAM 2009, pp. 168–177. IEEE Computer Society, Los Alamitos (2009)Google Scholar
  13. 13.
    Klint, P., van der Storm, T., Vinju, J.: EASY Meta-Programming with Rascal. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2009 III. LNCS, vol. 6491, pp. 222–289. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  14. 14.
    Meseguer, J., Roşu, G.: The rewriting logic semantics project. In: Proceedings of SOS 2005. ENTCS, vol. 156, pp. 27–56. Elsevier (2006)Google Scholar
  15. 15.
    Meseguer, J., Rosu, G.: The rewriting logic semantics project. Theoretical Computer Science 373(3), 213–237 (2007)MathSciNetMATHCrossRefGoogle Scholar
  16. 16.
    Roşu, G., Şerbănuţă, T.F.: An Overview of the K Semantic Framework. Journal of Logic and Algebraic Programming 79(6), 397–434 (2010)MathSciNetMATHCrossRefGoogle Scholar
  17. 17.
    van den Brand, M., Iversen, J., Mosses, P.D.: An Action Environment. Science of Computer Programming 61(3), 245–264 (2006)MathSciNetMATHCrossRefGoogle Scholar
  18. 18.
    van den Brand, M., Moreau, P.-E., Vinju, J.J.: Environments for Term Rewriting Engines for Free! In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 424–435. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  19. 19.
    van den Brand, M., van Deursen, A., Heering, J., de Jong, H.A., de Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P.A., Scheerder, J., Vinju, J.J., Visser, E., Visser, J.: The ASF+SDF Meta-Environment: A Component-Based Language Development Environment. In: Wilhelm, R. (ed.) CC 2001. LNCS, vol. 2027, pp. 365–370. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  20. 20.
    van Deursen, A., Heering, J., Klint, P. (eds.): Language Prototyping: An Algebraic Specification Approach. AMAST Series in Computing, vol. 5. World Scientific (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Mark Hills
    • 1
    • 2
  • Paul Klint
    • 1
    • 2
  • Jurgen J. Vinju
    • 1
    • 2
  1. 1.Centrum Wiskunde & InformaticaAmsterdamThe Netherlands
  2. 2.INRIA Lille Nord EuropeFrance

Personalised recommendations