72 research outputs found

    Software Visualization in 3D: Implementation, Evaluation, and Applicability

    Get PDF
    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

    Doctor of Philosophy

    Get PDF
    dissertationComputer programs have complex interactions with their underlying hardware, exhibiting complex behaviors as a result. It is critical to understand these programs, as they serve an importantrole: researchers use them to express new ideas in computer science, while many others derive production value from them. In both cases, program understanding leads to mastery over these functions, adding value to human endeavors. Memory behavior is one of the hallmarks of general program behavior: it represents the critical function of retrieving data for the program to work on; it often reflects the overall actions taken by the program, providing a signature of program behavior; and it is often an important performance bottleneck, as the the memory subsystem is typically much slower than the processor. These reasons justify an investigation into the memory behavior of programs. A memory reference trace is a list of memory transactions performed by a program at runtime, a rich data source capturing the whole of a program's interaction with the memory subsystem, and a clear starting point for investigating program memory behavior. However, such a trace is extremely difficult to interpret by mere inspection, as it consists solely of many, many addresses and operation codes, without any more structure or context. This dissertation proposes to use visualization to construct images and animations of the data within a reference trace, thereby visually transmitting structures and events as encoded in the trace. These visualization approaches are designed with different focuses, meant to expose various aspects of the trace. For instance, the time dimension of the reference traces can be handled either with animation, showing events as they occur, or by laying time out in a spatial dimension, giving a view of the entire history of the trace at once. The approaches also vary in their level of abstraction from the hardware: some are concretely connected to representations of the memory itself, while others are more free-form, using more abstract metaphors to highlight general behaviors and patterns, which in turn characterize the program behavior. Each approach delivers its own set of insights, as demonstrated in this dissertation

    Extraktion statischer SAP-Strukturinformationen in FAMIX als Grundlage für die Softwarevisualisierung

    Get PDF
    Softwarevisualisierung stellt als Teil der Informationsvisualisierung Struktur, Verhalten und Evolution einer Software dar. In der Softwareentwicklung bietet sie für jeden Akteur ein nützliches Werkzeug. So können neben Entwicklern auch Berater und Kunden Eigenschaften einer Software beurteilen, ohne höhere Programmierkenntnisse zu besitzen. Die Professur für Softwareentwicklung für Wirtschaft und Verwaltung der Universität Leipzig forscht im Bereich der Softwarevisualisierung. Neben einem Softwarevisualisierungsgenerator existieren bisher Extraktoren für C#, Java und Ruby. Für die SAP-eigene Programmiersprache ABAP und weitere SAP-Strukturinformationen sind in der Literatur und im kommerziellen Bereich wenige Konzepte veröffentlicht worden. Das Ziel dieser Arbeit ist die Entwicklung eines Prototypen zur Extraktion von SAP- Strukturinformationen in das Metamodell FAMIX als Grundlage für die Softwarevisualisierung. Als Werkzeug kommt dabei der SAP Code Inspector zum Einsatz, um Informationen über Quelltextelemente zu sammeln. Die zu extrahierenden Informationen werden durch eine Analyse der Recursive Disk Metaphor ermittelt, bei der SAP-Elemente in die bestehende Version integriert werden.:1. Einleitung 1.1. Motivation 1.2. Zielstellung 1.3. Methodisches Vorgehen 1.4. Aufbau dieser Arbeit 2. SAP-Grundlagen 2.1. SAP-System 2.2. ABAP 2.2.1. Report 2.2.2. Funktionsgruppe 2.2.3. Klasse 2.2.4. Datentyp 2.2.5. Tabelle 2.3. SAP Code Inspector 2.3.1. Anwendung des SAP Code Inspectors 2.3.2. Aufbau eigener Prüfklassen 3. Softwarevisualisierung 3.1. Grundlagen der Softwarevisualisierung 3.2. Visualisierungsprozess 3.3. FAMIX-Grammatik 3.4. Recursive Disc Metaphor 4. Analyse der zu extrahierenden Strukturinformationen 4.1. Auswahl der ABAP-Objekte 4.2. Anforderungsanalyse für ABAP 4.3. Visualisierung in der Recursive Disc Metaphor 5. Prototyp zur Extraktion von Strukturinformationen 5.1. Konzeption 5.2. Funktionsbeschreibung 5.3. Architektur 5.4. Datenhaltung 5.5. Evaluation 6. Ausblic

    Extraktion statischer SAP-Strukturinformationen in FAMIX als Grundlage für die Softwarevisualisierung

    Get PDF
    Softwarevisualisierung stellt als Teil der Informationsvisualisierung Struktur, Verhalten und Evolution einer Software dar. In der Softwareentwicklung bietet sie für jeden Akteur ein nützliches Werkzeug. So können neben Entwicklern auch Berater und Kunden Eigenschaften einer Software beurteilen, ohne höhere Programmierkenntnisse zu besitzen. Die Professur für Softwareentwicklung für Wirtschaft und Verwaltung der Universität Leipzig forscht im Bereich der Softwarevisualisierung. Neben einem Softwarevisualisierungsgenerator existieren bisher Extraktoren für C#, Java und Ruby. Für die SAP-eigene Programmiersprache ABAP und weitere SAP-Strukturinformationen sind in der Literatur und im kommerziellen Bereich wenige Konzepte veröffentlicht worden. Das Ziel dieser Arbeit ist die Entwicklung eines Prototypen zur Extraktion von SAP- Strukturinformationen in das Metamodell FAMIX als Grundlage für die Softwarevisualisierung. Als Werkzeug kommt dabei der SAP Code Inspector zum Einsatz, um Informationen über Quelltextelemente zu sammeln. Die zu extrahierenden Informationen werden durch eine Analyse der Recursive Disk Metaphor ermittelt, bei der SAP-Elemente in die bestehende Version integriert werden.:1. Einleitung 1.1. Motivation 1.2. Zielstellung 1.3. Methodisches Vorgehen 1.4. Aufbau dieser Arbeit 2. SAP-Grundlagen 2.1. SAP-System 2.2. ABAP 2.2.1. Report 2.2.2. Funktionsgruppe 2.2.3. Klasse 2.2.4. Datentyp 2.2.5. Tabelle 2.3. SAP Code Inspector 2.3.1. Anwendung des SAP Code Inspectors 2.3.2. Aufbau eigener Prüfklassen 3. Softwarevisualisierung 3.1. Grundlagen der Softwarevisualisierung 3.2. Visualisierungsprozess 3.3. FAMIX-Grammatik 3.4. Recursive Disc Metaphor 4. Analyse der zu extrahierenden Strukturinformationen 4.1. Auswahl der ABAP-Objekte 4.2. Anforderungsanalyse für ABAP 4.3. Visualisierung in der Recursive Disc Metaphor 5. Prototyp zur Extraktion von Strukturinformationen 5.1. Konzeption 5.2. Funktionsbeschreibung 5.3. Architektur 5.4. Datenhaltung 5.5. Evaluation 6. Ausblic

    Effective Visualizations of the Uncertainty in Hurricane Forecasts

    Get PDF
    The track forecast cone developed by the U.S. National Hurricane Center is the one most universally adopted by the general public, the news media, and governmental officials to enhance viewers\u27 understanding of the forecasts and their underlying uncertainties. However, current research has experimentally shown that it has limitations that result in misconceptions of the uncertainty included. Most importantly, the area covered by the cone tends to be misinterpreted as the region affected by the hurricane. In addition, the cone summarizes forecasts for the next three days into a single representation and, thus, makes it difficult for viewers to accurately determine crucial time-specific information. To address these limitations, this research develops novel alternative visualizations. It begins by developing a technique that generates and smoothly interpolates robust statistics from ensembles of hurricane predictions, thus creating visualizations that inherently include the spatial uncertainty by displaying three levels of positional storm strike risk at a specific point in time. To address the misconception of the area covered by the cone, this research develops time-specific visualizations depicting spatial information based on a sampling technique that selects a small, representative subset from an ensemble of points. It also allows depictions of such important storm characteristics as size and intensity. Further, this research generalizes the representative sampling framework to process ensembles of forecast tracks, selecting a subset of tracks accurately preserving the original distributions of available storm characteristics and keeping appropriately defined spatial separations. This framework supports an additional hurricane visualization portraying prediction uncertainties implicitly by directly showing the members of the subset without the visual clutter. We collaborated on cognitive studies that suggest that these visualizations enhance viewers\u27 ability to understand the forecasts because they are potentially interpreted more like uncertainty distributions. In addition to benefiting the field of hurricane forecasting, this research potentially enhances the visualization community more generally. For instance, the representative sampling framework for processing 2D points developed here can be applied to enhancing the standard scatter plots and density plots by reducing sizes of data sets. Further, as the idea of direct ensemble displays can possibly be extended to more general numerical simulations, it, thus, has potential impacts on a wide range of ensemble visualizations

    Interaktionskonzept zur Erstellung und Speicherung von dreidimensionalen Teilvisualisierungen: -

    Get PDF
    Das Ziel dieser Arbeit ist es, Methoden zur schnelleren Erstellung und Speicherung von Teilsichten prozessierter X3D-Dateien zu entwickeln. Point and Click und Drag and Drop werden als Interaktionsmethoden zur Erstellung der Teilsichten vorgestellt und anhand bestehender, wissenschaftlicher Studien verglichen. Drag and Drop wird als die günstigere Methode umgesetzt. Die Implementierung ermöglicht sowohl das Ziehen von Einträgen der integrierten Listenansicht als auch der Fragmente der Visualisierung.:Abbildungsverzeichnis Quellcode-Listings Abkürzungsverzeichnis 1 Einleitung 1.1 Motivation 1.2 Zielstellung 1.3 Aufbau der Arbeit 2 Stand der Forschung 2.1 Grundlagen der Softwarevisualisierung 2.1.1 Einordnung 2.1.2 Definition 2.1.3 Aufgaben 2.1.4 Metaphern 2.1.5 Generierung einer Softwarevisualisierung 2.2 Darstellung der Softwarevisualisierung und Interaktion 2.2.1 Die Oberfläche 2.2.2 Die Recursive Disc Metaphor 3 Technische Grundlagen 3.1 HTML5 3.2 JavaScript 3.3 Drag and Drop 3.4 Point and Click 3.5 Verwaltung der Struktur der Visualisierung durch zTree 4 Erzeugung von Teilsichten 4.1 Definition einer Teilsicht 4.2 Vergleich von Drag and Drop und Point and Click 4.3 Implementierung für den Package Explorer 4.4 Implementierung für die Visualisierung 5 Speichern und Laden von Teilsichten 5.1 Grundlagen zur Implementierung 5.2 Speichern einer Teilsicht 5.3 Laden einer Teilsicht 6 Fazit und Ausblick Literaturverzeichni

    Using Visual Capabilities to Improve Efficiency in Computer Forensic Analysis

    Get PDF
    Computer forensics is the preservation, analysis, and interpretation of computer data. Computer forensics is dependent on the availability of software tools and applications. Such tools are critical components in law enforcement investigations. Due to the diversity of cyber crime and cyber assisted crime, advanced software tools are essential apparatus for typical law enforcement investigators, national security analysts, corporate emergency response teams, civil lawyers, risk management personnel, etc. Typical tools available to investigators are text-based, which are sorely inadequate given the volume of data needing analysis in today’s environment. Many modern tools essentially provide simple GUIs to simplify access to typical textbased commands but the capabilities are essentially the same. For simplicity we continue to refer to these as text-based and command-based in constrast to the visualization tools and associated direct manipulation interfaces we are attempting to develop. The reading of such large volumes of textual information is extremely time-consuming in contrast with the interpretation of images through which the user can interpret large amounts of information simultaneously. Forensic analysts have a growing need for new capabilities to aid in locating files holding evidence of criminal activity. Such capabilities must improve both the efficiency of the analysis process and the identification of additionally hidden files. This paper discusses visualization research that more perceptually and intuitively represents file characteristics. Additionally, we integrate interaction capabilities for more complete exploration, significantly improving analysis efficiency. Finally, we discuss the results of an applied user study designed specifically to measure the efficacy of the developed visualization capabilities in the analysis of computer forensic related data

    Entwurf eines Datenmodells zur Speicherung von Softwarevisualisierungsartefakten

    Get PDF
    Das System Getaviz der Forschungsgruppe \textit{Visual Software Analytics} des Instituts für Wirtschaftsinformatik der Universität Leipzig stellt mehrere Werkzeuge zur Erzeugung und Analyse von Softwarevisualisierungen bereit. Da sich der Einsatz des Frameworks Xtext zur Generierung einer Visualisierung bezüglich Flexibilität und Speicherperformance als problematisch herausgestellt hat, wurde untersucht wie eine Ablösung dieser Technologie in Zukunft erreicht werden kann.\\ Zu diesem Zweck wurde ein Datenmodell entwickelt, welches es ermöglicht, Softwarevisualisierungsartefakte mittels Neo4j in einer Datenbank abzulegen und von dort wieder abzurufen. Der Entwurf dieses Datenmodells basiert auf einer vorangegangenen Analyse der bisher genutzten Modelle für die Metaphern City und Recursive Disk, um deren Bestandteile auf die neuen Modelle abzubilden. Um mögliche Auswirkungen einer Migration auf die Performance und Flexibilität des Transformationsprozesses untersuchen zu können, wurde anschließend das Datenmodell und der Zugriff auf die Datenbank innerhalb des Generators in Form von zusätzlichen Komponenten implementiert. Dadurch konnte erreicht werden, Transformationen ohne den Einsatz von Xtext durchzuführen. Als Eingabemodell wird ein von jQAssistant generierter Graph verwendet, der die Struktur des Softwaresystems abbildet
    corecore