Software landscape and application visualization for system comprehension with ExplorViz

Hierarchical and multi-layer visualization of large software landscapes with ExplorViz, generated from monitoring traces.Reusable design and execution of a controlled experiment comparing a flat landscape visualization to our hierarchical landscape visualization in system comprehension tasks.Controlled experiments for comparing ExplorViz with the Extravis trace visualization approach, for employing physical 3D-printed ExplorViz models, and for exploring 3D ExplorViz models in virtual reality. Display Omitted Context: The number of software applications deployed in organizations is constantly increasing. Those applications often several hundreds form large software landscapes.Objective: The comprehension of such landscapes and their applications is often impeded by, for instance, architectural erosion, personnel turnover, or changing requirements. Therefore, an efficient and effective way to comprehend such software landscapes is required.Method: In our ExplorViz visualization, we introduce hierarchical abstractions aiming at solving system comprehension tasks fast and accurately for large software landscapes. Besides hierarchical visualization on the landscape level, ExplorViz provides multi-level visualization from the landscape to the level of individual applications. The 3D application-level visualization is empirically evaluated with a comparison to the Extravis approach, with physical models and in virtual reality. To evaluate ExplorViz, we conducted four controlled experiments. We provide packages containing all our experimental data to facilitate the verifiability, reproducibility, and further extensibility of our results.Results: We observed a statistical significant increase in task correctness of the hierarchical visualization compared to the flat visualization. The time spent did not show any significant differences. For the comparison with Extravis, we observed that solving program comprehension tasks using ExplorViz leads to a significant increase in correctness and in less or similar time spent. The physical models improved the team-based program comprehension process for specific tasks by initiating gesture-based interaction, but not for all tasks. The participants of our virtual reality experiment with ExplorViz rated the realized gestures for translation, rotation, and selection as highly usable. However, our zooming gesture was less favored.Conclusion: The results backup our claim that our hierarchical and multi-level approach enhances the current state of the art in landscape and application visualization for better software system comprehension, including new forms of interaction with physical models and virtual reality.

[1]  Wilhelm Hasselbring,et al.  Elastic Application-Level Monitoring for Large Software Landscapes in the Cloud , 2015, ESOCC.

[2]  Arvinder Kaur,et al.  Component Based Software Engineering , 2010 .

[3]  Jochen Quante,et al.  Do Dynamic Object Process Graphs Support Program Understanding? - A Controlled Experiment. , 2008, 2008 16th IEEE International Conference on Program Comprehension.

[4]  Wilhelm Hasselbring,et al.  Comparing Trace Visualizations for Program Comprehension through Controlled Experiments , 2015, 2015 IEEE 23rd International Conference on Program Comprehension.

[5]  Romain Robbes,et al.  Software systems as cities: a controlled experiment , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[6]  Malcolm Munro,et al.  Virtual but visible software , 2000, 2000 IEEE Conference on Information Visualization. An International Conference on Computer Visualization and Graphics.

[7]  Arie van Deursen,et al.  A Controlled Experiment for Program Comprehension through Trace Visualization , 2011, IEEE Transactions on Software Engineering.

[8]  Michel R. V. Chaudron,et al.  Interactive Views to Improve the Comprehension of UML Models - An Experimental Validation , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[9]  Marcelo R. Campo,et al.  An Overview of 3D Software Visualization , 2009, IEEE Transactions on Visualization and Computer Graphics.

[10]  Michele Lanza,et al.  Visualizing Software Systems as Cities , 2007, 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[11]  Chris Parnin,et al.  Virtual Reality in Software Engineering: Affordances, Applications, and Challenges , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[12]  Dietmar Pfahl,et al.  Reporting guidelines for controlled experiments in software engineering , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[13]  Wilhelm Hasselbring,et al.  Hierarchical software landscape visualization for system comprehension: A controlled experiment , 2015, 2015 IEEE 3rd Working Conference on Software Visualization (VISSOFT).

[14]  R. Likert “Technique for the Measurement of Attitudes, A” , 2022, The SAGE Encyclopedia of Research Design.

[15]  E. S. Pearson Biometrika tables for statisticians , 1967 .

[16]  S. Shapiro,et al.  An Analysis of Variance Test for Normality (Complete Samples) , 1965 .

[17]  Daniel L. Schwartz,et al.  Give your ideas some legs: the positive effect of walking on creative thinking. , 2014, Journal of experimental psychology. Learning, memory, and cognition.

[18]  Wilhelm Hasselbring,et al.  Research perspective on supporting software engineering via physical 3D models , 2015, 2015 IEEE 3rd Working Conference on Software Visualization (VISSOFT).

[19]  Wilhelm Hasselbring,et al.  Kieker: a framework for application performance monitoring and dynamic software analysis , 2012, ICPE '12.

[20]  Huzefa H. Kagdi,et al.  Enabling integrated development environments with natural user interface interactions , 2014, ICPC 2014.

[21]  Patrick Ogao,et al.  Evaluation of software visualization tools: Lessons learned , 2009, 2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[22]  Colin Ware,et al.  Reevaluating stereo and motion cues for visualizing graphs in three dimensions , 2005, APGV '05.

[23]  Wilhelm Hasselbring,et al.  Exploring software cities in virtual reality , 2015, 2015 IEEE 3rd Working Conference on Software Visualization (VISSOFT).

[24]  Wilhelm Hasselbring,et al.  Experimental Data for: Hierarchical Software Landscape Visualization for System Comprehension: A Controlled Experiment , 2015 .

[25]  Andrian Marcus,et al.  Supporting the evolution of a software visualization tool through usability studies , 2005, 13th International Workshop on Program Comprehension (IWPC'05).

[26]  Wilhelm Hasselbring,et al.  Comparing trace visualizations for program comprehension through controlled experiments , 2015, ICPC 2015.

[27]  Irit Hadar,et al.  On the Contribution of UML Diagrams to Software System Comprehension , 2004, J. Object Technol..

[28]  H. Levene Robust tests for equality of variances , 1961 .

[29]  Victor R. Basili,et al.  A Methodology for Collecting Valid Software Engineering Data , 1984, IEEE Transactions on Software Engineering.

[30]  Arie van Deursen,et al.  Trace visualization for program comprehension: A controlled experiment , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[31]  Wilhelm Hasselbring,et al.  Microservices for Scalability: Keynote Talk Abstract , 2016, ICPE.

[32]  W. Shadish,et al.  Experimental and Quasi-Experimental Designs for Generalized Causal Inference , 2001 .

[33]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[34]  Lionel C. Briand,et al.  Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software , 2006, IEEE Transactions on Software Engineering.

[35]  Wilhelm Hasselbring,et al.  Live trace visualization for comprehending large software landscapes: The ExplorViz approach , 2013, 2013 First IEEE Working Conference on Software Visualization (VISSOFT).

[36]  Wilhelm Hasselbring,et al.  Model Driven Performance Measurement and Assessment with MoDePeMART , 2009, MoDELS.

[37]  Richard Wettel,et al.  Software Systems as Cities , 2010 .

[38]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[39]  Arie van Deursen,et al.  Understanding Execution Traces Using Massive Sequence and Circular Bundle Views , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[40]  Václav Rajlich,et al.  Towards standard for experiments in program comprehension , 1997, Proceedings Fifth International Workshop on Program Comprehension. IWPC'97.

[41]  Samin Ishtiaq,et al.  "Can I Implement Your Algorithm?": A Model for Reproducible Research Software , 2014, ArXiv.

[42]  Ben Shneiderman,et al.  Software psychology: Human factors in computer and information systems (Winthrop computer systems series) , 1980 .

[43]  Hausi A. Müller,et al.  How do program understanding tools affect how programmers understand programs? , 2000, Sci. Comput. Program..

[44]  Wilhelm Hasselbring,et al.  An adaptation framework enabling resource-efficient operation of software systems , 2009 .

[45]  Wilhelm Hasselbring,et al.  Automatic Failure Diagnosis Support in Distributed Large-Scale Software Systems Based on Timing Behavior Anomaly Correlation , 2009, 2009 13th European Conference on Software Maintenance and Reengineering.

[46]  Victor R. Basili The Role of Controlled Experiments in Software Engineering Research , 2006, Empirical Software Engineering Issues.

[47]  Jason Leigh,et al.  Visualizing object-oriented software in virtual reality , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[48]  Eileen Kraemer,et al.  Designing your Next Empirical Study on Program Comprehension , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[49]  Rainer Oechsle,et al.  VisuSniff: A Tool For The Visualization Of Network Traffic , 2002 .

[50]  Wilhelm Hasselbring,et al.  Automated Source-Level Instrumentation for Dynamic Dependency Analysis of COBOL Systems , 2012, Softwaretechnik-Trends.

[51]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[52]  Keith H. Bennett,et al.  From system comprehension to program comprehension , 2002, Proceedings 26th Annual International Computer Software and Applications.

[53]  Philippe Dugerdil,et al.  EvoSpaces Visualization Tool: Exploring Software Architecture in 3D , 2007, 14th Working Conference on Reverse Engineering (WCRE 2007).

[54]  Lisa Amini,et al.  Streamsight: a visualization tool for large-scale streaming applications , 2008, SoftVis '08.

[55]  John C. Grundy,et al.  A 3D metaphor for software production visualization , 2003, Proceedings on Seventh International Conference on Information Visualization, 2003. IV 2003..

[56]  Rainer Koschke,et al.  Journal of Software Maintenance and Evolution: Research and Practice Software Visualization in Software Maintenance, Reverse Engineering, and Re-engineering: a Research Survey , 2022 .

[57]  W. De Pauw,et al.  Web Services Navigator: Visualizing the execution of Web Services , 2005, IBM Syst. J..

[58]  Marc Roper,et al.  A novel software visualisation model to support software comprehension , 2004, 11th Working Conference on Reverse Engineering.

[59]  Reinhard von Hanxleden,et al.  Drawing layered graphs with port constraints , 2014, J. Vis. Lang. Comput..

[60]  Wilhelm Hasselbring,et al.  ExplorViz: Visual Runtime Behavior Analysis of Enterprise Application Landscapes , 2015, ECIS.

[61]  Wilhelm Hasselbring,et al.  Live Visualization of Large Software Landscapes for Ensuring Architecture Conformance , 2014, ECSAW '14.

[62]  Wilhelm Hasselbring,et al.  Towards a Dependability Control Center for Large Software Landscapes (Short Paper) , 2014, 2014 Tenth European Dependable Computing Conference.

[63]  Wilhelm Hasselbring,et al.  PubFlow: a scientific data publication framework for marine science , 2013 .

[64]  Natalia Juristo Juzgado,et al.  Basics of Software Engineering Experimentation , 2010, Springer US.

[65]  Ben Shneiderman,et al.  The eyes have it: a task by data type taxonomy for information visualizations , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[66]  Michael Gleicher,et al.  The challenges of 3D interaction: a CHI '94 workshop , 1994, SGCH.

[67]  Wilhelm Hasselbring,et al.  Research perspective on supporting software engineering via physical 3D models , 2015, IEEE Working Conference on Software Visualization.

[68]  Massimiliano Di Penta,et al.  Experimental Settings in Program Comprehension: Challenges and Open Issues , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[69]  S. Goldin-Meadow,et al.  Hearing Gesture: How Our Hands Help Us Think , 2003 .

[70]  Sven Apel,et al.  Views on Internal and External Validity in Empirical Software Engineering , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[71]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[72]  Kellogg S. Booth,et al.  Fish tank virtual reality , 1993, INTERCHI.