Towards a One-Stop-Shop for Analysis, Transformation and Visualization of Software

  • Paul Klint
  • Bert Lisser
  • Atze van der Ploeg
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6940)


Over the last two years we have been developing the meta-progra- mming language Rascal that aims at providing a concise and effective language for performing meta-programming tasks such as the analysis and transformation of existing source code and models, and the implementation of domain-specific languages.

However, meta-programming tasks also require seamlessly integrated visualization facilities. We are therefore now aiming at a ”One-Stop-Shop” for analysis, transformation and visualization. In this paper we give a status report on this ongoing effort and sketch the requirements for an interactive visualization framework and describe the solutions we came up with. In brief, we propose a coordinate-free, compositional, visualization framework, with fully automatic placement, scaling and alignment. It also provides user interaction. The current framework can handle various kinds of charts, trees, and graphs and can be easily extended to more advanced layouts. This work can be seen as a study in domain engineering that will eventually enable us to create a domain-specific language for software visualization. We conclude with examples that emphasize the integration of analysis and visualization.


Composition Operator Software Visualization Nominal Scale Gantt Chart Operator Description 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bostock, M., Heer, J.: Protovis: A Graphical Toolkit for Visualization. IEEE Transactions on Visualization and Computer Graphics 15(6), 1121–1128 (2009)CrossRefGoogle Scholar
  2. 2.
    Coutaz, J.: A layout abstraction for user-system interface. SIGCHI Bull. 16, 18–24 (1985)CrossRefGoogle Scholar
  3. 3.
    Diehl, S.: Software visualization: visualizing the structure, behaviour, and evolution of software. Springer (July 2007)Google Scholar
  4. 4.
    Elliott, C.: Functional images. In: The Fun of Programming. Cornerstones of Computing. Palgrave (March 2003)Google Scholar
  5. 5.
    Finne, S., Peyton Jones, S.: Pictures: A simple structured graphics model. In: Glasgow Workshop on Functional Programming (January 1995)Google Scholar
  6. 6.
    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. LNCS, vol. 6491, pp. 222–289. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  7. 7.
    Lanza, M., Ducasse, S.: Polymetric views - a lightweight visual approach to reverse engineering. IEEE Transactions on Software Engineering 29(9) (September 2003)Google Scholar
  8. 8.
    Lie, H.: Cascading Style Sheets. PhD thesis, Faculty of Mathematics and Natural, Sciences University of Oslo (2005)Google Scholar
  9. 9.
    Lucas, W., Shieber, S.M.: A Simple Language for Novel Visualizations of Information. In: Filipe, J., Shishkov, B., Helfert, M., Maciaszek, L.A. (eds.) Software and Data Technologies. CCIS, vol. 22, pp. 33–45. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  10. 10.
    Meyer, M., Gîrba, T., Lungu, M.: Mondrian: an Agile Information Visualization Framework. In: Proceedings of the 2006 ACM Symposium on Software Visualization - SoftVis 2006, pp. 135–144. ACM Press, New York (2006)CrossRefGoogle Scholar
  11. 11.
    Ousterhout, J.: Tcl and the Tk Toolkit. Addison-Wesley, Reading (1994)zbMATHGoogle Scholar
  12. 12.
    Shneiderman, B.: The eyes have it: A task by data type taxonomy for information visualizations. In: Proceedings of IEEE Symposium on Visual Languages, pp. 336–343 (1996)Google Scholar
  13. 13.
    Stevens, S.S.: On the Theory of Scales of Measurement. Science, New Series 103(2684), 677–680 (1946)zbMATHGoogle Scholar
  14. 14.
    Storey, M.-A.D., Wong, K.: Rigi: A Visualization Environment for Reverse Engineering. In: Proceedings of the 1997 (19th) International Conference on Software Engineering, pp. 606–607. ACM (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Paul Klint
    • 1
    • 2
  • Bert Lisser
    • 1
  • Atze van der Ploeg
    • 1
  1. 1.Centrum Wiskunde & InformaticaAmsterdamThe Netherlands
  2. 2.INRIA Lille Nord EuropeFrance

Personalised recommendations