“Impact for and Applications in Software Engineering”

March 2nd, 2009, Kaiserslautern, Germany



Novel Visual Representations for Software Metrics Using 3Dand Animation

The visualization of software metrics is an important step towards a better understanding of the software product to be developed. Software metrics are quantitative measurements of a piece of software, e.g., a class, a package, or a component. A good understanding of software metrics supports the identification of possible problems in the development process and helps to improve the software quality. In this paper, we present several possibilities how novel visual representations can support the user to discover interesting properties within the metrics data set. Two prototypical implementations are discussed in more detail: the first one uses a new interactive 3D metaphor to overcome known problems in the visualization of the evolution of software metrics. Then, we focus on the usage of 2D animation to represent metric values. Both approaches address different aspects in human-centered visualization, i.e., the design of visual metaphors that are intuitive from the user perspective in the first case as well as the support of patterns in motion to facilitate the visual perception of metric outliers in the second case.

The Role of Visualization in the Naturalization of Remote Software Immigrants

Software development is commonly becoming a globally distributed task, often due to mergers and acquisitions, globalization, cross-divisional efforts, outsourcing, or even telecommuting. Individuals –and entire teams– are suddenly faced with new challenges when they must move from the traditional synchronous co-located paradigm to the newer asynchronous distributed paradigm. While previous work has examined collocated software immigrants, we investigate remote immigrants who may be working synchronously or asynchronously, and report on the naturalization process. Specifically, we focus on the role of visualization in helping with this process. The case study presented is exploratory in nature with data collected via pilot interviews. We found a number of serious issues impeding normal workflow, as perceived by participants who recently became remote software immigrants, and we discuss how their visualization tools helped them to understand the process.

Challenges Implementing “Effective” HCIV Solutions in Complex Systems

Useful data, technology, and technical expertise are generally necessary prerequisites to “successful” HCIV applications but in and of themselves are often insufficient. Implementations of local solutions within complex systems, particularly complex adaptive socio-technical systems (e.g. air traffic management, etc) may involve many tradeoffs with multiple agents with diverse biases and agendas which may yield emergent effects that detract from the intended benefits of the application. Vignettes drawn from case studies will be presented as illustrations and the case will be made that HCIV applications can benefit from an ecological approach.

Network Situational Awareness: A Representative Survey

Recent developments in visualization techniques for network monitoring and analysis have advanced dramatically over the simple graphs and color-coded representations found in early intrusion detection systems. These integrated visualization systems attempt to present a complete and coherent view of the traffic on a network, and the possible security events that may occur. In this paper we describe several representative integrated network visualization systems and discuss the network status and security questions they answer. We address the strengths and weaknesses of each type of visualization system with particular emphasis on operator interaction and directability.

User Centered Design Patterns for Visualisation

The variation in screen sizes that people use is growing, and so is the variation in situations in which screens are used, and the activities for which screens are used. Engineers design the screens and most of the time engineers design the way the information will be displayed. Both design efforts require attention to the prospective users of the screen. This paper is about the way information could / should be displayed. The meaning received from displayed information is dependent on: the user (current needs, history of what displayed data could mean); the context; the user’s activities when using the display. People perceive, ignore or interpret, accept or reject, the info from a screen, based on their current situation. To design for information to reach the goal it is intended to reach, the collective knowledge of HCI might help. But most designers are not experts in HCI. Design patterns are a way to provide proven solutions. Consequently we collect, develop and provide relevant user centered design patterns for visualization in a way that makes them usable for engineers who have no HCI expertise. We will give a tentative overview of a relevant pattern collection, and show how such a collection can be offered, and we report on a pilot study comparing different tools to for designers to choose applicable patterns for actual design problems.


Visual Debugger for Single-Point-Contact Haptic Rendering

Haptic applications are difficult to debug due to their high update rate and many factors influencing their execution. In this paper, we describe a practical visual debugger for single-point-contact haptic devices of impedance-type. The debugger can easily be incorporated into the running haptic application. The visualization shows the position trajectory with timing information and associated data like goal positions and computed feedback forces. Also, there are several options for in detail analysis of the feedback force applied at each time instance. We show with several use cases taken from practical experience that the system is well suited for locating common and intricate problems of haptic applications.


Applications of Visualization Technology in Robotics Software Development

Control software for experimental autonomous robots is typically complex and subject to frequent changes – posing numerous challenges for software engineers. When based on general-purpose robotics frameworks, significant parts of such systems are modular and data-flow-oriented – a natural fit for visualization in graph structures. In this paper, we present approaches to visualize different aspects of robotics software which proved helpful or even essential in our development process. Furthermore, we briefly introduce central abstractions in our software framework which greatly facilitate generic solutions.