An Open Toolkit for Reverse Engineering Data Visualisation and Exploration

  • A. Telea
  • A. Maccari
  • C. Riva
Part of the The Kluwer International Series in Engineering and Computer Science book series (SECS, volume 732)


Maintenance and evolution of complex software systems (such as mobile telephones) involves activities such as reverse engineering (RE) and software visualisation. The RE conceptual framework for describing software understanding and concept abstraction is implemented up to different degrees by several RE tools. We found the architecture of most such tools hard to adapt to the domain specific requirements posed by our current practice in Nokia. We believe that the architecture of a RE tool should reflect the conceptual framework’s logical steps. We propose such an architecture and present a concrete RE toolkit that implements it. The toolkit provides a flexible way to build RE scenarios by subclassing and composition of a few basic components. We pay special attention to the visual and interactive requirements of the RE process. We show our plans to use it for further research on visualising the complex software structures that we extract from our products.


Domain Model Reverse Engineering Edge Type Selection Operation Scene Graph 
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.
    S. Tilley, A Reverse-Engineering Environment Framework, Tech. Report CMU/SEI-98-TR-005, Carnegie-Mellon University, 1998.Google Scholar
  2. 2.
    H.A. Muller, M.A. Orgun, S. Tilley, J. Uhl A Reverse Engieering Approach to Subsystem Structure Identification, Software — Research and Practice, 5(4), pp. 181–204, 1993.CrossRefGoogle Scholar
  3. 3.
    H. Korth and A. Silberschatz, Database System Concepts, McGraw-Hill, 1986.Google Scholar
  4. 4.
    K. Wong, Rigi User’s Manual, Dept. of Computer Science, University of Victoria, Canada.Google Scholar
  5. 5.
    R. Kazman, J. Carriere, Rapid Prototyping of Information Visualizations using VANISH, Proc. IEEE Info Vis ′95, IEEE CS Press, 1995.Google Scholar
  6. 6.
    T. Biggerstaff, B. Mittbrander, D Webster, The Concept Assignment Problem in Program Understanding, Proc. WCRE ′93, IEEE CS Press, 1993.Google Scholar
  7. 7.
    P. Young Program Comprehension, Visualisation Research Group, Centre for Software Maintenance, University of Durham, May 1996.Google Scholar
  8. 8.
    S. C. North, E. Koutsoufios, DOT and NEATO User Guide, AT&T Bell Labs Report Series, http: //, 1996.Google Scholar
  9. 9.
    J. Rohrich, Graph Attribution with Multiple Attribute Grammars, ACM SIGPLAN 22 (11), pp.55–70, 1987.CrossRefGoogle Scholar
  10. 10.
    K. Wong, S. Tilley, H. Muller, M. Storey, Structural Redocumentation: A Case Study, IEEE Software 12 (1), 1995, pp. 46–50.CrossRefGoogle Scholar
  11. 11.
    K. Wong, On Inserting Program Understanding Technology into the Software Change Process, internal report, Dept. of Computer Science, University of Victoria, Canada, 1997.Google Scholar
  12. 12.
    S. Eick and G. Wills, Navigating large Networks with Hierarchies, in Readings in Information Visualization— Using Vision to Think, Morgan Kaufmann Publishers Inc., 1999.Google Scholar
  13. 13.
    S. Card, J. Mackinlay, B. Shneiderman, Readings in Information Visualization — Using Vision to Think, Morgan Kaufmann Publishers Inc., 1999.Google Scholar
  14. 14.
    J. Stasko, J. Domingue, M. H. Brown, B. A. Price, Software Visualization — Programming as a Multimedia Experience, MIT Press, 1998.Google Scholar
  15. 15.
    A. Frick, A. Ludwig and H. Mehldau, A fast adaptive layout algorithm for undirected graphs, Proc. GD′94, Springer-Verlag 1995.Google Scholar
  16. 16.
    E.R. Gansner, S.C. North, An open graph visualization system and its applications to software engineering, Software-Practice and Experience, John Wiley & Sons, (S1) 1–5, 1999.Google Scholar
  17. 17.
    M. Himsolt, GraphEd user manual, Tech. Report, Dept. of Informatics, Passau Univ., 1992.Google Scholar
  18. 18.
    S.R. Tilley, K. Wong, M.D. Storey, H.A. Muller, Programmable reverse engineering, Dept. of Computer Science, University of Victoria, Canada, 1998.Google Scholar
  19. 19.
    K. Sugiyama, S. Tagawa, M. Toda, Methods for Visual Understanding of Hierarchical Systems Structure, IEEE Trans. Systems, Man, and Cybernetics, 11(2), pp.109–125, 1989.MathSciNetCrossRefGoogle Scholar
  20. 20.
    A. Mendelzon, J. Sametinger, Reverse Engineering by Visualizing and Querying, internal report, Computer Systems Research Institute, University of Toronto, Canada, 1997.Google Scholar
  21. 21.
    J. Wernecke, The Inventor Mentor: Programming Object-Oriented 3D Graphics with Open Inventor, Addison-Wesley, 1993.Google Scholar

Copyright information

© Springer Science+Business Media New York 2003

Authors and Affiliations

  • A. Telea
    • 1
  • A. Maccari
    • 2
  • C. Riva
    • 2
  1. 1.Department of Mathematics and Computer ScienceEindhoven University of TechnologyThe Netherlands
  2. 2.Software Technology LaboratoryNokia Research CenterHelsinkiFinland

Personalised recommendations