10,678 research outputs found
Kollaboratives Reengineering und Modularisieren von Softwaresystemen
Software systems evolve over their lifetime. Changing requirements make it inevitable for developers to modify and extend the underlying code base. Specific requirements emerge in the context of open source software where everybody can contribute and requirements can change over time. In particular, research software is often not structured with a maintainable and extensible architecture. Furthermore, often databases are employed for retrieving, storing, and processing application data. Insufficient knowledge of the actual structure and behavior of such software systems and related databases can entail further challenges. Thus, understanding these software systems embodies a crucial task, which needs to be addressed in an appropriate way to face inevitable challenges while performing software changes. Approaches based on alternative display and interaction concepts can support this task by offering a more immersive user experience. In this thesis, we introduce three complementary approaches to support the evolution and particularly understanding of software systems in different aspects. Our main contributions are (i) an approach named CORAL for enabling collaborative reengineering and modularization of software systems, (ii) a gesture-based, collaborative, and multi-user-featuring Virtual Reality approach named ExplorViz VR for the software city metaphor, and (iii) a database behavior live-visualization approach named RACCOON for database comprehension of software systems. An extensive case study shows that our CORAL approach is capable of supporting reengineering and modularization processes. Furthermore, several lab experiments demonstrate the high usability, and efficiency and effectiveness for solving comprehension tasks when using the visualization within our multi-user VR approach ExplorViz VR. All implementations are available as open-source software on www.explorviz.net. Additionally, we provide an extensive experimental package of our latest VR evaluation to facilitate the verifiability and reproducibility of our results
Animating the evolution of software
The use and development of open source software has increased significantly in the last decade. The high frequency of changes and releases across a distributed environment requires good project management tools in order to control the process adequately. However, even with these tools in place, the nature of the development and the fact that developers will often work on many other projects simultaneously, means that the developers are unlikely to have a clear picture of the current state of the project at any time. Furthermore, the poor documentation associated with many projects has a detrimental effect when encouraging new developers to contribute to the software. A typical version control repository contains a mine of information that is not always obvious and not easy to comprehend in its raw form. However, presenting this historical data in a suitable format by using software visualisation techniques allows the evolution of the software over a number of releases to be shown. This allows the changes that have been made to the software to be identified clearly, thus ensuring that the effect of those changes will also be emphasised. This then enables both managers and developers to gain a more detailed view of the current state of the project. The visualisation of evolving software introduces a number of new issues. This thesis investigates some of these issues in detail, and recommends a number of solutions in order to alleviate the problems that may otherwise arise. The solutions are then demonstrated in the definition of two new visualisations. These use historical data contained within version control repositories to show the evolution of the software at a number of levels of granularity. Additionally, animation is used as an integral part of both visualisations - not only to show the evolution by representing the progression of time, but also to highlight the changes that have occurred. Previously, the use of animation within software visualisation has been primarily restricted to small-scale, hand generated visualisations. However, this thesis shows the viability of using animation within software visualisation with automated visualisations on a large scale. In addition, evaluation of the visualisations has shown that they are suitable for showing the changes that have occurred in the software over a period of time, and subsequently how the software has evolved. These visualisations are therefore suitable for use by developers and managers involved with open source software. In addition, they also provide a basis for future research in evolutionary visualisations, software evolution and open source development
Code Park: A New 3D Code Visualization Tool
We introduce Code Park, a novel tool for visualizing codebases in a 3D
game-like environment. Code Park aims to improve a programmer's understanding
of an existing codebase in a manner that is both engaging and intuitive,
appealing to novice users such as students. It achieves these goals by laying
out the codebase in a 3D park-like environment. Each class in the codebase is
represented as a 3D room-like structure. Constituent parts of the class
(variable, member functions, etc.) are laid out on the walls, resembling a
syntax-aware "wallpaper". The users can interact with the codebase using an
overview, and a first-person viewer mode. We conducted two user studies to
evaluate Code Park's usability and suitability for organizing an existing
project. Our results indicate that Code Park is easy to get familiar with and
significantly helps in code understanding compared to a traditional IDE.
Further, the users unanimously believed that Code Park was a fun tool to work
with.Comment: Accepted for publication in 2017 IEEE Working Conference on Software
Visualization (VISSOFT 2017); Supplementary video:
https://www.youtube.com/watch?v=LUiy1M9hUK
Recommended from our members
Building bridges between methodological approaches: a meta-framework linking experiments and applied studies in 3D geovisualization research
Learning in a Landscape: Simulation-building as Reflexive Intervention
This article makes a dual contribution to scholarship in science and
technology studies (STS) on simulation-building. It both documents a specific
simulation-building project, and demonstrates a concrete contribution to
interdisciplinary work of STS insights. The article analyses the struggles that
arise in the course of determining what counts as theory, as model and even as
a simulation. Such debates are especially decisive when working across
disciplinary boundaries, and their resolution is an important part of the work
involved in building simulations. In particular, we show how ontological
arguments about the value of simulations tend to determine the direction of
simulation-building. This dynamic makes it difficult to maintain an interest in
the heterogeneity of simulations and a view of simulations as unfolding
scientific objects. As an outcome of our analysis of the process and
reflections about interdisciplinary work around simulations, we propose a
chart, as a tool to facilitate discussions about simulations. This chart can be
a means to create common ground among actors in a simulation-building project,
and a support for discussions that address other features of simulations
besides their ontological status. Rather than foregrounding the chart's
classificatory potential, we stress its (past and potential) role in discussing
and reflecting on simulation-building as interdisciplinary endeavor. This chart
is a concrete instance of the kinds of contributions that STS can make to
better, more reflexive practice of simulation-building.Comment: 37 page
- …