Proceedings Articles |
2020 |
Müller, Richard; Strempel, Tom: Graph-Based Performance Analysis at System- and Application-Level. In: 11th Symposium on Software Performance, Leipzig, Germany, 2020. (Type: Proceedings Article | Abstract | Links | BibTeX | Schlagwörter: Cypher, graph database, Java, jQAssistant, Jupyter notebook, Kieker, Neo4j, performance analysis, Python)@inproceedings{Mueller2020b, The Kieker plugin for jQAssistant transforms monitored log data into graphs to support software engineers with performance analysis. In this paper, we describe how we have extended and improved this plugin to support performance analysis at system- and application-level and how we have evaluated its correctness and scalability using data from recent experiments. This is a first step to replicate complete experiments in the field of performance analysis using graphs. |
2019 |
Müller, Richard; Fischer, Matteo: Graph-Based Analysis and Visualization of Software Traces. In: 10th Symposium on Software Performance, Würzburg, Germany, 2019. (Type: Proceedings Article | Abstract | Links | BibTeX | Schlagwörter: Cypher, graph database, Java, jQAssistant, Kieker, Neo4j, performance analysis)@inproceedings{Muller2019b, Graphs are a suitable representation of software artifacts' data created during development and maintenance activities. Software traces monitored with Kieker are one example of such data. We present a jQAssistant plugin that scans event-based Kieker traces and stores them in a Neo4j graph database. This opens up new possibilities for analyzing and visualizing these traces with respect to application performance monitoring and architecture discovery. We illustrate the feasibility and usefulness of the plugin with the Bookstore application example. |
Müller, Richard; Eisenecker, Ulrich: A Graph-Based Feature Location Approach Using Set Theory. In: 23rd Systems and Software Product Line Conference, pp. 161–165, ACM, Paris, France, 2019, ISBN: 978-1-4503-7138-4. (Type: Proceedings Article | Abstract | Links | BibTeX | Schlagwörter: ArgoUML, benchmark, Cypher, extractive software product line adoption, feature location, graph database, Java, jQAssistant, Neo4j, reverse engineering, set theory, software product line, static analysis)@inproceedings{Muller2019b, The ArgoUML SPL benchmark addresses feature location in Software Product Lines (SPLs), where single features as well as feature combinations and feature negations have to be identified. We present a solution for this challenge using a graph-based approach and set theory. The results are promising. Set theory allows to exactly define which parts of feature locations can be computed and which precision and which recall can be achieved. This has to be complemented by a reliable identification of feature-dependent class and method traces as well as refinements. The application of our solution to one scenario of the benchmark supports this claim. |
2018 |
Müller, Richard; Mahler, Dirk; Hunger, Michael; Nerche, Jens; Harrer, Markus: Towards an Open Source Stack to Create a Unified Data Source for Software Analysis and Visualization. In: 6th IEEE Working Conference on Software Visualization, IEEE, Madrid, Spain, 2018. (Type: Proceedings Article | Abstract | Links | BibTeX | Schlagwörter: D3, graph database, Java, JavaScript, jQAssistant, jQAssistant dashboard, Neo4j, open source, query, React, schema, software analysis, software visualization)@inproceedings{Muller2018, The beginning of every software analysis and visualization process is data acquisition. However, there are various sources of data about a software system. The methods used to extract the relevant data are as diverse as the sources are. Furthermore, integration and storage of heterogeneous data from different software artifacts to form a unified data source are very challenging. In this paper, we introduce an extensible open source stack to take the first step to solve these challenges. We show its feasibility by analyzing and visualizing JUnit and provide answers regarding the schema, selection, and implementation of software artifacts' data. |
Baum, David; Dietrich, Jens; Anslow, Craig; Müller, Richard: Visualizing Design Erosion: How Big Balls of Mud are Made. In: 6th IEEE Working Conference on Software Visualization, IEEE, Madrid, Spain, 2018. (Type: Proceedings Article | Abstract | Links | BibTeX | Schlagwörter: antipattern, Getaviz, Java, software visualization)@inproceedings{Baum2018, Software systems are not static, they have to undergo frequent changes to stay fit for purpose, and in the process of doing so, their complexity increases. It has been observed that this process often leads to the erosion of the systems design and architecture and with it, the decline of many desirable quality attributes, such as maintainability. This process can be captured in terms of antipatterns - atomic violations of widely accepted design principles. We present a visualisation that exposes the design of evolving Java programs, highlighting instances of selected antipatterns including their emergence and cancerous growth. This visualisation assists software engineers and architects in assessing, tracing and therefore combating design erosion. We evaluated the effectiveness of the visualisation in four case studies with ten participants. |
2017 |
Baum, David; Schilbach, Jan; Kovacs, Pascal; Eisenecker, Ulrich; Müller, Richard: GETAVIZ: Generating Structural, Behavioral, and Evolutionary Views of Software Systems for Empirical Evaluation. In: 5th IEEE Working Conference on Software Visualization, pp. 114–118, IEEE, Shanghai, China, 2017, ISBN: 978-1-5386-1003-9. (Type: Proceedings Article | Abstract | Links | BibTeX | Schlagwörter: empirical evaluation, evaluation process, Getaviz, Java, JavaScript, software visualization, user interface, visualization metaphor, X3D, X3DOM)@inproceedings{DBLP:conf/vissoft/BaumSKE017, Software visualizations are used to support stakeholders in software engineering activities like development, project management, and maintenance. The respective tasks determine which aspects of software, i.e., structural, behavioral and/or evolutionary information, need to be visualized. To promote the usage of software visualizations they have to optimally support the needs of the respective stakeholder for the specific task at hand. Therefore, we see the necessity to create innovative visualizations and to optimize existing ones. In order to achieve this, it is necessary to empirically evaluate the different visualizations and their variants. In this paper, we present GETAVIZ as a toolset to support these processes, i.e., designing visualizations, generating task-and role specific visualizations, and conducting empirical evaluations. The toolset implements the concept of generative and model-driven software visualization and makes it possible to generate different visualizations for all three aspects of software. Its strength lies in its adaptability, so that new visualizations and variations of existing ones can be implemented easily. In addition to the generator this toolset contains several extractors for different programming languages, a browser-based user interface for viewing and interacting with visualizations, and an evaluation server to facilitate the execution of local and remote experiments. The paper illustrates the capabilities of GETAVIZ and it discusses plans for its further development. |
2015 |
Müller, Richard; Zeckzer, Dirk: The Recursive Disk Metaphor - A Glyph-based Approach for Software Visualization. In: 6th International Conference on Visualization Theory and Applications, pp. 171–176, Berlin, Germany, 2015. (Type: Proceedings Article | Abstract | Links | BibTeX | Schlagwörter: glyph-based visualization, Java, JavaScript, software visualization, X3D, X3DOM)@inproceedings{Muller2015b, In this paper, we present the recursive disk metaphor, a glyph-based visualization for software visualization. The metaphor represents all important structural aspects and relations of software using nested circular glyphs. The result is a shape with an inner structural consistency and a completely defined orientation. We compare the recursive disk metaphor to other state-of-the-art 2D approaches that visualize structural aspects and relations of software. Further, a case study shows the feasibility and scalability of the approach by visualizing an open source software system in a browser. |
PhD Theses |
2015 |
Müller, Richard: Software Visualization in 3D - Implementation, Evaluation, and Applicability. Leipzig University, 2015. (Type: PhD Thesis | Abstract | Links | BibTeX | Schlagwörter: 3D, controlled experiment, generative and model-driven software visualization, glyph-based visualization, Java, JavaScript, literature study, software visualization, X3D, X3DOM)@phdthesis{Muller2015c, The focus of this thesis is on the implementation, the evaluation and the useful application of the third dimension in software visualization. Software engineering is characterized by a complex interplay of different stakeholders that produce and use several artifacts. Software visualization is used as one mean to address this increasing complexity. It provides role- and task-specific views of artifacts that contain information about structure, behavior, and evolution of a software system in its entirety. The main potential of the third dimension is the possibility to provide multiple views in one software visualization for all three aspects. However, empirical findings concerning the role of the third dimension in software visualization are rare. Furthermore, there are only few 3D software visualizations that provide multiple views of a software system including all three aspects. Finally, the current tool support lacks of generating easy integrateable, scalable, and platform independent 2D, 2.5D, and 3D software visualizations automatically. Hence, the objective is to develop a software visualization that represents all important structural entities and relations of a software system, that can display behavioral and evolutionary aspects of a software system as well, and that can be generated automatically. In order to achieve this objective the following research methods are applied. A literature study is conducted, a software visualization generator is conceptualized and prototypically implemented, a structured approach to plan and design controlled experiments in software visualization is developed, and a controlled experiment is designed and performed to investigate the role of the third dimension in software visualization. The main contributions are an overview of the state-of-the-art in 3D software visualization, a structured approach including a theoretical model to control influence factors during controlled experiments in software visualization, an Eclipse-based generator for producing automatically role- and task-specific 2D, 2.5D, and 3D software visualizations, the controlled experiment investigating the role of the third dimension in software visualization, and the recursive disk metaphor combining the findings with focus on the structure of software including useful applications of the third dimension regarding behavior and evolution. |
Veröffentlichungen
Proceedings Articles |
2020 |
Graph-Based Performance Analysis at System- and Application-Level. In: 11th Symposium on Software Performance, Leipzig, Germany, 2020. | :
2019 |
Graph-Based Analysis and Visualization of Software Traces. In: 10th Symposium on Software Performance, Würzburg, Germany, 2019. | :
A Graph-Based Feature Location Approach Using Set Theory. In: 23rd Systems and Software Product Line Conference, pp. 161–165, ACM, Paris, France, 2019, ISBN: 978-1-4503-7138-4. | :
2018 |
Towards an Open Source Stack to Create a Unified Data Source for Software Analysis and Visualization. In: 6th IEEE Working Conference on Software Visualization, IEEE, Madrid, Spain, 2018. | :
Visualizing Design Erosion: How Big Balls of Mud are Made. In: 6th IEEE Working Conference on Software Visualization, IEEE, Madrid, Spain, 2018. | :
2017 |
GETAVIZ: Generating Structural, Behavioral, and Evolutionary Views of Software Systems for Empirical Evaluation. In: 5th IEEE Working Conference on Software Visualization, pp. 114–118, IEEE, Shanghai, China, 2017, ISBN: 978-1-5386-1003-9. | :
2015 |
The Recursive Disk Metaphor - A Glyph-based Approach for Software Visualization. In: 6th International Conference on Visualization Theory and Applications, pp. 171–176, Berlin, Germany, 2015. | :
PhD Theses |
2015 |
Software Visualization in 3D - Implementation, Evaluation, and Applicability. Leipzig University, 2015. | :