We apply data mining to version histories in order toguide programmers along related changes: "Programmerswho changed these functions also changed. . . ". Given aset of existing changes, such rules (a) suggest and predictlikely further changes, (b) show up item coupling that is indetectableby program analysis, and (c) prevent errors dueto incomplete… (More)
Recently, with the success of Java and the existence of different interfaces be tween VRML and Java, it became possible to implement three-dimensional internet applications on standard VRML browsers (Plugins) using Java....
Software has been and is still mostly refactored without tool support. Moreover, as we found in our case studies, programmers tend not to document these changes as refac-torings, or even worse label changes as refactorings, although they are not. In this paper we present a technique to detect changes that are likely to be refactorings and rank them… (More)
The revision history of a software system conveys important information about how and why the system evolved in time. The revision history can also tell us which parts of the system are coupled by common changes: " Whenever the database schema was changed, the sqlquery() method was altered, too. " This " evolutionary " coupling can be compared with the… (More)
This half-day tutorial gives an overview of the current state-of-the-art in software visualization. Software visualization encompasses the development and evaluation of methods for graphically representing different aspects of software, including its structure, its execution, and its evolution. In contrast to visual programming and diagramming for software… (More)
Compound digraphs are a widely used model in computer science. In many application domains these models evolve over time. Only few approaches to visualize such dynamic compound digraphs exist and mostly use animation to show the dynamics. In this paper we present a new visualization tool called TimeArcTrees that visualizes weighted, dynamic compound… (More)
In this paper we present the motivation, theory and transformations of our semantics-directed compiler generator. The main novelty of our generator is that it generates compilers and abstract machines. The execution times of the abstract machine programs produced by our generated compiler compare well to those of target programs produced by compilers… (More)
We first give an overview of the features of the GANIMAL Framework introducing several new concepts not present in any previous algorithm animation system. Then we focus on its mechanisms for mixing live and post mortem visualization which are in particular very useful for algorithms which restructure graphs.