Hasso-Plattner-Institut für Softwaresystemtechnik
Publications

Computer Graphics Systems
Prof. Dr. Jürgen Döllner

Hasso-Plattner-Institut
für Softwaresystemtechnik
Prof.-Dr.-Helmert-Str. 2-3
D-14482 Potsdam, Germany

 

Member of

GraphicsMedia.net
We have open positions more...


Publications

Projecting Code Changes onto Execution Traces to Support Localization of Recently Introduced Bugs
Bohnet, Johannes and Voigt, Stefan and Döllner, Jürgen
24th ACM Symposium on Applied Computing, ACM, pp. 438–442, 2009.

Abstract

Working collaboratively on complex software systems often leads to situations where a developer enhances or extends system functionality, thereby however, introducing bugs. At best the unintentional changes are caught immediately by regression tests. Often however, the bugs are detected days or weeks later by other developers noticing strange system behavior while working on different parts of the system. Then it is a highly time-consuming task to trace back this behavior change to code changes in the past. In this paper we propose a technique for identifying the recently introduced change that is responsible for the unexpected behavior. The key idea is to combine dynamic, static, and code change information on the system to reduce the possibly great amount of code modifications to those that may affect the system while running its faulty behavior. After having applied this massive automated filtering step, developers receive support in semi-automatically identifying the root cause change by means of a trace exploration frontend. Within multiple synchronized views, developers explore when, how and why modified code locations are executed. The technique is implemented within a prototypical analysis tool that copes with large (> MLOC) C/C++ software systems. We demonstrate the approach by means of industrial case studies.

Keywords

software visualization, fault localization, reverse engineering

Media

BibTeX

@inproceedings{BVD09,
author = { Bohnet, Johannes and Voigt, Stefan and D{\"o}llner, J{\"u}rgen },
title = { Projecting Code Changes onto Execution Traces to Support Localization of Recently Introduced Bugs },
booktitle = { 24th ACM Symposium on Applied Computing },
pages = { 438--442 },
year = { 2009 },
publisher = { ACM }
}