On porting software visualization tools to the web

  • Marco D’Ambros
  • Michele Lanza
  • Mircea Lungu
  • Romain Robbes
WSE 2009

Abstract

Software systems are hard to understand due to the complexity and the sheer size of the data to be analyzed. Software visualization tools are a great help as they can sum up large quantities of data in dense, meaningful pictures. Traditionally, such tools come in the form of desktop applications. Modern web frameworks are about to change this status quo, as building software visualization tools as web applications can help in making them available to a larger audience in a collaborative setting. Such a migration comes with a number of promises, perils, and technical implications that must be considered before starting any migration process. In this paper, we share our experiences in porting two such tools to the web and provide guidelines about the porting. In particular, we discuss promises and perils that go hand in hand with such an endeavor and present a number of technological alternatives that are available to implement web-based visualizations.

Keywords

Software visualization Software analysis tools Web applications 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Rigi–an environment for software reverse engineering, exploration, visualization, and redocumentation. Science of Computer Programming, 75(4), 247–263 (2010). Experimental Software and Toolkits (EST 3): A special issue of the Workshop on Academic Software Development Tools and Techniques (WASDeTT 2008)Google Scholar
  2. 2.
    Bajaj, C., Cutchin, S.: Web based collaborative visualization of distributed and parallel simulation. In: Proceedings of the IEEE symposium on Parallel visualization and graphics (PVGS 1999), pp. 47–54. IEEE Computer Society (1999)Google Scholar
  3. 3.
    Ball T., Eick S.: Software visualization in the large. IEEE Comput Soc 29(4), 33–43 (1996)Google Scholar
  4. 4.
    Beyer, D., Hassan, A.E.: Animated visualization of software history using evolution storyboards. In: Proceedings of the 13th Working Conference on Reverse Engineering (WCRE 2006), pp. 199–210. IEEE CS Press (2006)Google Scholar
  5. 5.
    Cornelissen B., Zaidman A., Holten D., Moonen L., van Deursen A., van Wijk J.J.: Execution trace analysis through massive sequence and circular bundle views. J. Syst. Softw. 81(12), 2252–2268 (2008)CrossRefGoogle Scholar
  6. 6.
    D’Ambros, M., Lanza, M.: Reverse engineering with logical coupling. In: Proceedings of WCRE 2006 (13th Working Conference on Reverse Engineering), pp. 189–198. IEEE CS Press, Los Alamitos (2006)Google Scholar
  7. 7.
    D’Ambros, M., Lanza, M.: A flexible framework to support collaborative software evolution analysis. In: Proceedings of CSMR 2008 (12th IEEE European Conference on Software Maintenance and Reengineering), pp. 3–12. IEEE CS Press, Los Alamitos (2008)Google Scholar
  8. 8.
    D’Ambros M., Lanza M.: Visual software evolution reconstruction. J Soft Maint Evol Res Pract (JSME) 21(3), 217–232 (2009)CrossRefGoogle Scholar
  9. 9.
    D’Ambros, M., Lanza, M., and Lungu, M.: The evolution radar: visualizing integrated logical coupling information. In: Proceedings of MSR 2006 (3rd International Workshop on Mining Software Repositories), pp. 26–32 (2006)Google Scholar
  10. 10.
    D’Ambros M., Lanza M., Lungu M.: Visualizing co-change information with the evolution radar. Trans. Softw. Eng. (TSE) 35(5), 720–735 (2009)CrossRefGoogle Scholar
  11. 11.
    D’Ambros, M., Lanza, M., Pinzger, M.: a bug’s life”—visualizing a bug database. In: Proceedings of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software For Understanding and Analysis), pp. 113–120. IEEE CS Press, Los Alamitos (2007)Google Scholar
  12. 12.
    Ducasse, S., Pollet, D., Suen, M., Abdeen, H., Alloui, I.: Package surface blueprints: visually supporting the understanding of package relationships. In: Proceedings IEEE International Conference on Software Maintainance (ICSM 2007), pp. 94–103, IEEE CS Press, Los Alamitos (2007)Google Scholar
  13. 13.
    Ducasse, S., Gîrba, T., Nierstrasz, O.: Moose: an agile reengineering environment. In: Proceedings of ESEC/FSE 2005, pp. 99–102 (2005)Google Scholar
  14. 14.
    Ducasse S., Lanza M.: The class blueprint: visually supporting the understanding of classes. Trans. Softw. Eng. (TSE) 31(1), 75–90 (2005)CrossRefGoogle Scholar
  15. 15.
    Ducasse, S., Lanza, M., Robbes, R.: Multi-level method understanding using microprints. In: Proceedings of VISSOFT 2005 (3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 33–38 (2005)Google Scholar
  16. 16.
    Eick S.G., Steffen J.L., Sumner E.E. Jr.: SeeSoft—a tool for visualizing line oriented software statistics. IEEE Trans. Softw. Eng. 18(11), 957–968 (1992)CrossRefGoogle Scholar
  17. 17.
    Engel, K., Ertl, T.: Texture-based volume visualization for multiple users on the world wide web. In: Gervaut, Michael, Schmalstieg, Dieter, Hildebrand, Axel (eds) Proceedings of the Eurographics Workshop in Vienna, Austria, pp. 115–124 (1999)Google Scholar
  18. 18.
    Estublier J., Leblang D., van der Hoek A., Conradi R., Clemm G., Tichy W., Wiborg-Weber D.: Impact of software engineering research on the practice of software configuration management. ACM Trans. Softw. Eng. Methodol. 14(4), 383–430 (2005)CrossRefGoogle Scholar
  19. 19.
    Finnigan P., Holt R., Kalas I., Kerr S., Kontogiannis K., Mueller H., Mylopoulos J., Perelgut S., Stanley M., Wong K.: The software bookshelf. IBM Syst J 36(4), 564–593 (1997)CrossRefGoogle Scholar
  20. 20.
    Froehlich, J., Dourish, P.: Unifying artifacts and activities in a visual tool for distributed software development teams. In: ICSE ’04: Proceedings of the 26th International Conference on Software Engineering, pp. 387–396. IEEE Computer Society, Washington, DC (2004)Google Scholar
  21. 21.
    Frost R.: Jazz and the eclipse way of collaboration. IEEE Software 24(6), 114–117 (2007)CrossRefGoogle Scholar
  22. 22.
    Gall, H., Hajek, K., Jazayeri, M.: Detection of logical coupling based on product release history. In: Proceedings International Conference on Software Maintenance (ICSM ’98), pp. 190–198, IEEE Computer Society Press, Los Alamitos (1998)Google Scholar
  23. 23.
    Gîrba, T., Kuhn, A., Seeberger, M., Ducasse, S.: How developers drive software evolution. In: Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2005), pp. 113–122. IEEE Computer Society Press, Los Alamitos (2005)Google Scholar
  24. 24.
    Greevy, O., Lanza, M., Wysseier, C.: Visualizing live software systems in 3d. In: SoftVis ’06: Proceedings of the 2006 ACM symposium on Software visualization, pp. 47–56. ACM, New York (2006)Google Scholar
  25. 25.
    Holten D.: Hierarchical edge bundles: Visualization of adjacency relations in hierarchical data. IEEE Trans. Visual. Comput Graph 12(5), 741–748 (2006)CrossRefGoogle Scholar
  26. 26.
    Jazayeri, M., Gall, H., Riva, C.: Visualizing Software Release Histories: The Use of Color and Third Dimension. In: Proceedings of ICSM ’99 (International Conference on Software Maintenance), pp. 99–108. IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
  27. 27.
    Kazman, R., Carrière, S.J.: View extraction and view fusion in architectural understanding. In: Proceedings of the 5th International Conference on Software Reuse (ICSR 1998), pp. 290. IEEE Computer Society, Washington, DC (1998)Google Scholar
  28. 28.
    Kersten, M., Murphy, G.C.: Using task context to improve programmer productivity. In: Proceedings of the 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering (SIGSOFT 2006/FSE-14), pp. 1–11. ACM, New York (2006)Google Scholar
  29. 29.
    Knodel, J., Muthig, D., Naab, M., Lindvall, M.: Static evaluation of software architectures. In: CSMR’06, pp. 279–294. IEEE Computer Society, Los Alamitos (2006)Google Scholar
  30. 30.
    Kuhn, A., Loretan, P., Nierstrasz, O.: Consistent layout for thematic software maps. In: WCRE ’08: Proceedings of the 2008 15th Working Conference on Reverse Engineering, pp. 209–218. IEEE Computer Society, Washington, DC (2008)Google Scholar
  31. 31.
    Lanza M., Ducasse S.: Polymetric views—a lightweight visual approach to reverse engineering. Trans Softwa Eng (TSE) 29(9), 782–795 (2003)CrossRefGoogle Scholar
  32. 32.
    Lanza, M., Ducasse, S., Gall, H., Pinzger, M.: Codecrawler— an information visualization tool for program comprehension. In: Proceedings of ICSE 2005 (27th IEEE International Conference on Software Engineering), pp. 672–673. ACM Press, New York (2005)Google Scholar
  33. 33.
    Likert R.: A technique for the measurement of attitudes. Arch Psychol 22(140), 1–55 (1932)Google Scholar
  34. 34.
    Lintern, R., Michaud, J., Storey, M.-A., Wu, X.: Plugging-in visualization: experiences integrating a visualization tool with eclipse. In: SoftVis ’03: Proceedings of the 2003 ACM symposium on Software visualization, pp. 47–56. ACM, New York (2003)Google Scholar
  35. 35.
    Lungu, M.: Reverse Engineering Software Ecosystems. PhD thesis, University of Lugano, Switzerland (October 2009)Google Scholar
  36. 36.
    Lungu, M., Lanza, M.: Softwarenaut: Exploring hierarchical system decompositions. In: Proceedings of CSMR 2006 (10th IEEE European Conference on Software Maintenance and Reengineering), pp. 349–350. IEEE CS Press, Los Alamitos (2006)Google Scholar
  37. 37.
    Lungu, M., Lanza, M., Gîrba, T.: Package patterns for visual architecture recovery. In: Proceedings of CSMR 2006 (10th IEEE European Conference on Software Maintenance and Reengineering), pp. 183–192. IEEE CS Press, Los Alamitos (2006)Google Scholar
  38. 38.
    Lungu, M., Lanza, M., Gîrba, T., Heeck, R.: Reverse engineering super-repositories. In: Proceedings of WCRE 2007 (14th IEEE Working Conference on Reverse Engineering), pp. 120–129. IEEE CS Press, Los Alamitos (2007)Google Scholar
  39. 39.
    Lungu M., Lanza M., Girba T., Robbes R.: The small project observatory: Visualizing software ecosystems. J Sci Comput Program (SCP) 75(4), 264–275 (2010)CrossRefMATHGoogle Scholar
  40. 40.
    Mancoridis, S., Souder, T.S., Chen, Y.-F., Gansner, E.R., Korn, J.L.: Reportal: A web-based portal site for reverse engineering. In: Proceedings of the 8th Working Conference on Reverse Engineering (WCRE 2001), pp. 221. IEEE Computer Society, Los Alamitos (2001)Google Scholar
  41. 41.
    Marcus, A., Feng, L., Maletic, J.I.: 3D representations for software visualization. In: Proceedings of the ACM Symposium on Software Visualization, pp. 27–36. IEEE, Portland (2003)Google Scholar
  42. 42.
    Meyer, M., Gîrba, T., Lungu, M.: Mondrian: An agile visualization framework. In: Proceedings of Softvis 2006 (3rd International ACM Symposium on Software Visualization). pp. 135–144. ACM Press, New York (2006)Google Scholar
  43. 43.
    Müller, H.A., Klashinsky, K.: Rigi—a system for programming-in-the-large. In: ICSE ’88: Proceedings of the 10th international conference on Software engineering, pp. 80–86. IEEE Computer Society Press, Los Alamitos (1988)Google Scholar
  44. 44.
    Müller, H.A.: Rigi—A Model for Software System Construction, Integration, and Evaluation based on Module Interface Specifications. PhD thesis, Rice University, Houston (1986)Google Scholar
  45. 45.
    Nentwich C., Emmerich W., Finkelstein A., Zisman A.: BOX: Browsing objects in XML. Softw Pract Exp 30(15), 1661–1676 (2000)CrossRefMATHGoogle Scholar
  46. 46.
    O’Brien, L., Stoermer, C.: Architecture reconstruction case study. Technical report, CMU/SEI-2001-TR-026 (2001)Google Scholar
  47. 47.
    Pinzger, M., Gall, H., Fischer, M., Lanza, M.: Visualizing multiple evolution metrics. In: Proceedings of SoftVis 2005 (2nd ACM Symposium on Software Visualization), pp. 67–75, St. Louis (2005)Google Scholar
  48. 48.
    Robbes, R., Lanza, M.: Spyware: A change-aware development toolset. In: Proceedings of ICSE 2008 (30th ACM/IEEE International Conference in Software Engineering), pp. 847–850. ACM Press, New York (2008)Google Scholar
  49. 49.
    Sarma, A., Maccherone, L., Wagstrom, P., Herbsleb, J.: Tesseract: interactive visual exploration of socio-technical relationships in software development. In: International Conference on Software Engineering, pp. 23–33 (2009)Google Scholar
  50. 50.
    Sarma, A., Noroozi, Z., van der Hoek, A.: Palantír: Raising awareness among configuration management workspaces. In: Proceedings of the 25th International Conference on Software Engineering (ICSE 2003), pp. 444–454 (2003)Google Scholar
  51. 51.
    Storey, M.-A.D., Müller, H.A.: Manipulating and documenting software structures using SHriMP Views. In: Proceedings of ICSM ’95 (International Conference on Software Maintenance), pp. 275–284. IEEE Computer Society Press, Los Alamitos (1995)Google Scholar
  52. 52.
    Taylor, C., Munro, Malcolm: Revision towers. In: Proceedings 1st International Workshop on Visualizing Software for Understanding and Analysis, pp. 43–50. IEEE Computer Society, Los Alamitos (2002)Google Scholar
  53. 53.
    Telea, A., Auber, D.: Code flows: visualizing structural evolution of source code. In: Proceedings of 10th Eurographics/IEEE Symposium on Data Visualization (EuroVis 2008), vol. 27, pp. 831–838. Eurographics (2008)Google Scholar
  54. 54.
    Termeer, M., Lange, C.F.J., Telea, A., Chaudron, M.R.V.: Visual exploration of combined architectural and metric information. In: VISSOFT ’05: Proceedings of the 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis, pp. 11. IEEE Computer Society, Washington, DC (2005)Google Scholar
  55. 55.
    van Deursen, A., Mesbah, A., Cornelissen, B., Zaidman, A., Pinzger, M., Guzzi, A.: Adinda: A knowledgeable, browser-based ide. In: Companion Proceedings of the 32nd International Conference on Software Engineering (ICSE NIER). ACM (2010)Google Scholar
  56. 56.
    Van Rysselberghe, F., Demeyer, S.: Studying software evolution information by visualizing the change history. In: Proceedings 20th IEEE International Conference on Software Maintenance (ICSM ’04), pp. 328–337. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  57. 57.
    Viegas F.B., Wattenberg M., van Ham F., Kriss J., McKeon M.: Manyeyes: a site for visualization at internet scale. IEEE Trans. Visual. Comput. Graph. 13(6), 1121–1128 (2007)CrossRefGoogle Scholar
  58. 58.
    Voinea, L., Telea, A., van Wijk, J.J.: CVS scan: visualization of code evolution. In: Proceedings of 2005 ACM Symposium on Software Visualization (Softvis 2005), pp. 47–56, St. Louis (2005)Google Scholar
  59. 59.
    Wettel, R., Lanza, M.: Program comprehension through software habitability. In: Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231–240. IEEE CS Press, Los Alamitos (2007)Google Scholar
  60. 60.
    Wettel, R., Lanza, M.: Codecity: 3D visualization of large-scale software. In: ICSE Companion ’08: Companion of the 30th ACM/IEEE International Conference on Software Engineering, pp. 921–922. ACM press, New York (2008)Google Scholar
  61. 61.
    Wu, J., Holt, R., Hassan, A.: Exploring software evolution using spectrographs. In: Proceedings of 11th Working Conference on Reverse Engineering (WCRE 2004), pp. 80–89. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar

Copyright information

© Springer-Verlag 2010

Authors and Affiliations

  • Marco D’Ambros
    • 1
  • Michele Lanza
    • 1
  • Mircea Lungu
    • 2
  • Romain Robbes
    • 3
  1. 1.REVEAL @ Faculty of InformaticsUniversity of LuganoLuganoSwitzerland
  2. 2.Software Composition Group (SCG)University of BernBernSwitzerland
  3. 3.PLEIAD Lab, Computer Science Department (DCC)University of ChileSantiagoChile

Personalised recommendations