162 research outputs found
Applying inspection to object-oriented software
The benefits of the object-oriented paradigmare widely cited. At the same time, inspection is deemed to be the most cost-effective means of detecting defects in software products. Why then, is there no published experience, let alone quantitative data, on the application of inspection to object-oriented systems? We describe the facilities of the object-oriented paradigm and the issues that these raise when inspecting object-oriented code. Several problems are caused by the disparity between the static code structure and its dynamic runtime behaviour. The large number of small methods in object-oriented systems can also cause problems. We then go on to describe three areas which may help mitigate problems found. Firstly, the use of various programming methods may assist in making object-oriented code easier to inspect. Secondly, improved program documentation can help the inspector understand the code which is under inspection. Finally, tool support can help the inspector to analyse the dynamic behaviour of the code. We conclude that while both the object-oriented paradigm and inspection provide excellent benefits on their own, combining the two may be a difficult exercise, requiring extensive support if it is to be successful
The Code-Map Metaphor - A Review Of Its Use Within Software Visualisations
Software developers can use software visualisations employing the code-map metaphor to discover and correlate facts spread over a large code base. This work presents an extensive review of the use of the code-map metaphor for software visualisation. The review analyses a set of 29 publications, which together describe 21 software development tools that use visualisations employing the code-map metaphor. The review follows a task oriented framework to guide the analysis of the literature in terms of the task, audience, target, medium, representation, and evidence dimensions based on the code-map metaphor. Although the literature indicates that software visualisations based on the code-map metaphor are perceived by the research community to be helpful across all aspects of the software develop process, the main finding of our review is that there is a lack of quantitative evidence to support this perception. Thus, the effectiveness of visualisations incorporating the code-map metaphor is still unclear. The majority of the software visualisations analysed in this study, however , do provide qualitative observations regarding their usage in various scenarios. These are summarised and presented in this review as we believe the observations can be used as motivation for future empirical evaluations
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
Pattern-based program visualization
The aim of this paper is to discuss how our pattern-based strategy for the visualization of data and control flow can effectively be used to animate the program and exhibit its behavior. That result allows us to propose its use for Program Comprehension. The animator uses well known compiler techniques to inspect the source code in order to extract the necessary information to visualize it and understand program execution.
We convert the source program into an internal decorated (or attributed) abstract syntax tree and then we visualize the structure by traversing it, and applying visualization rules at each node according to a pre-defined rule-base. No changes are made in the source code, and the execution is simulated.
Several examples of visualization are shown to illustrate the approach and support our idea of applying it in the context of a Program Comprehension environment.FC
A Tool for Visual Understanding of Source Code Dependencies
Many program comprehension tools use graphs to visualize
and analyze source code. The main issue is that existing
approaches create graphs overloaded with too much
information. Graphs contain hundreds of nodes and even
more edges that cross each other. Understanding these
graphs and using them for a given program comprehension
task is tedious, and in the worst case developers stop using
the tools. In this paper we present DA4Java, a graphbased
approach for visualizing and analyzing static dependencies
between Java source code entities. The main contribution
of DA4Java is a set of features to incrementally
compose graphs and remove irrelevant nodes and edges
from graphs. This leads to graphs that contain significantly
fewer nodes and edges and need less effort to understand
- …