13 research outputs found

    Utilizing static and dynamic software analysis to aid cost estimation, software visualization, and test quality management

    Get PDF
    The main results presented in the thesis are related to the semi- or fully-automated analysis of the software and its development processes. My overall research goal is to provide meaningful insights, methods, and practical tools to help the work of stakeholders during various phases of software development. The thesis statements have been grouped into three major thesis points, namely "Measuring, predicting, and comparing the productivity of developer teams"; "Providing immersive methods for software and unit test visualization"; and "Spotting the structures in the package hierarchy that required attention using test coverage data"

    Visualisierung von Klassenbestandteilen am Beispiel der Stadtmetapher

    Get PDF
    Die Stadtmetapher des Softwarevisualisierungsgenerators der Forschungsgruppe Softwarevisualisierung in 3D und virtueller Realität soll um zwei Varianten der Darstellung von Klassenattributen und -methoden erweitert werden. Nach Evaluation bereits existierender Stadtmetaphern mit dem Fokus auf die Anwendbarkeit verschiedener visualisierter Aspekte auf die Stadtmetapher des Softwarevisualisierungsgenerators folgt eine Definition der zu implementierenden Varianten zur Darstellung der Klassenbestandteile. Als Basis einer der umzusetzenden Varianten dient dabei der Ansatz von CodeCity, der die Zerlegung des Gebäudes in sogenannte Bricks vorsieht. Eine zweite Variante der Visualisierung soll das Gebäude ebenfalls in Segmente gliedern, jedoch konsequent aufeinander stapeln. Zusätzlich werden Zugriffsmodifikatoren beziehungsweise Methodentypen farblich verschieden gekennzeichnet sowie eine Sortierung der Elemente nach mehreren Kriterien vorgenommen.:Gliederung (I) Abbildungsverzeichnis (III) Tabellenverzeichnis (V) Verzeichnis der Listings (VI) Abkürzungsverzeichnis (VII) 1 Einleitung (1) 1.1 Motivation und Problemstellung (1) 1.2 Zielstellung der Arbeit (1) 1.3 Methodisches Vorgehen (2) 1.4 Aufbau der Arbeit (2) 2 Darstellungen von Klassenbestandteilen (3) 2.1 Softwarevisualisierung (3) 2.2 Die Stadtmetapher (5) 2.3 Methoden als Gebäude (6) 2.3.1 ImSoVision (6) 2.3.2 Vizz3d - Unified City (7) 2.3.3 Software World (9) 2.4 Klassen als Gebäude (15) 2.4.1 EvoSpaces / Software City (15) 2.4.2 SArF Map (17) 2.4.3 Verso (18) 2.5 Gebäude als ambivalente Glyphe (20) 2.5.1 CodeMetropolis (20) 2.5.2 CodeCity (22) 3 Erweiterung des Softwarevisualisierungsgenerators (24) 3.1 Der Softwarevisualisierungsgenerator (24) 3.2 Anforderungsanalyse der Teilelemente (25) 3.3 Erweiterung des Metamodells (26) 3.4 Modell-Transformationen und Modifikationen (28) 3.4.1 Modell-zu-Modell-Transformation der Backsteine (28) 3.4.2 Modell-zu-Modell-Transformation der Paneele (30) 3.4.3 Modellmodifikationen (31) 3.4.4 Modell-zu Text-Transformation (36) 3.5 Evaluation der Varianten (38) 4 Zusammenfassung und Ausblick (42) Anhang – Erläuterungen zur Konfiguration und Ausführung (VIII) Literatur- und Quellenverzeichnis (XI) Selbstständigkeitserklärung (XV

    A Review on Tools, Mechanics, Benefits, and Challenges of Gamified Software Testing

    Get PDF
    Gamification is an established practice in Software Engineering to increase effectiveness and engagement in many practices. This manuscript provides a characterisation of the application of gamification to the Software Testing area. Such practice in fact reportedly suffers from low engagement by both personnel in industrial contexts and learners in educational contexts. Our goal is to identify the application areas and utilised gamified techniques and mechanics, the provided benefits and drawbacks, as well as the open challenges in the field. To this purpose, we conducted a Multivocal Literature Review to identify white and grey literature sources addressing gamified software testing. We analysed 73 contributions and summarised the most common gamified mechanics, concepts, tools and domains where they are mostly applied. We conclude that gamification in software testing is mostly applied to the test creation phase with simple white-box unit or mutation testing tools, and is mostly used to foster good behaviours by promoting the testers’ accomplishment. Key research areas and main challenges in the field are: careful design of tailored gamified mechanics for specific testing techniques; the need for technological improvements to enable crowdsourcing, cooperation, and concurrency; the necessity for empirical and large-scale evaluation of the benefits delivered by gamification mechanics

    On the use of virtual reality in software visualization: The case of the city metaphor

    Get PDF
    Background: Researchers have been exploring 3D representations for visualizing software. Among these representations, one of the most popular is the city metaphor, which represents a target object-oriented system as a virtual city. Recently, this metaphor has been also implemented in interactive software visualization tools that use virtual reality in an immersive 3D environment medium. Aims: We assessed the city metaphor displayed on a standard computer screen and in an immersive virtual reality with respect to the support provided in the comprehension of Java software systems. Method: We conducted a controlled experiment where we asked the participants to fulfill program comprehension tasks with the support of (i) an integrated development environment (Eclipse) with a plugin for gathering code metrics and identifying bad smells; and (ii) a visualization tool of the city metaphor displayed on a standard computer screen and in an immersive virtual reality. Results: The use of the city metaphor displayed on a standard computer screen and in an immersive virtual reality significantly improved the correctness of the solutions to program comprehension tasks with respect to Eclipse. Moreover, when carrying out these tasks, the participants using the city metaphor displayed in an immersive virtual reality were significantly faster than those visualizing with the city metaphor on a standard computer screen. Conclusions: Virtual reality is a viable means for software visualization

    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

    The Medium of Visualization for Software Comprehension

    Get PDF
    Although abundant studies have shown how visualization can help software developers to understand software systems, visualization is still not a common practice since developers (i) have little support to find a proper visualization for their needs, and once they find a suitable visualization tool, they (ii) are unsure of its effectiveness. We aim to offer support for identifying proper visualizations, and to increase the effectiveness of visualization techniques. In this dissertation, we characterize proposed software visualizations. To fill the gap between proposed visualizations and their practical application, we encapsulate such characteristics in an ontology, and propose a meta-visualization approach to find suitable visualizations. Amongst others characteristics of software visualizations, we identify that the medium used to display them can be a means to increase the effectiveness of visualization techniques for particular comprehension tasks.We implement visualization prototypes and validate our thesis via experiments. We found that even though developers using a physical 3D model medium required the least time to deal with tasks that involve identifying outliers, they perceived the least difficulty when visualizing systems based on the standard computer screen medium. Moreover, developers using immersive virtual reality obtained the highest recollection. We conclude that the effectiveness of software visualizations that use the city metaphor to support comprehension tasks can be increased when city visualizations are rendered in an appropriate medium. Furthermore, that visualization of software visualizations can be a suitable means for exploring their multiple characteristics that can be properly encapsulated in an ontology
    corecore