The paper presents a usability study conducted with graduate and undergraduate computer science students, designed to evaluate the effectiveness of a software visualization tool n...
Very little is known about professional programmers’ mental representations of variables, yet this information is vital in designing effective tools for program comprehension. I...
Dynamic software visualization is designed to provide programmers with insights as to what the program is doing. Most current visualizations either use program traces to show info...
Interoperability is the challenge involved in getting software components to work together. This working session discusses in depth the state of the art in reengineering tool inte...
The fact that crosscutting concerns (aspects) cannot be well modularized in object oriented software is an impediment to program comprehension: the implementation of a concern is ...
Mariano Ceccato, Marius Marin, Kim Mens, Leon Moon...
This paper presents an analysis of software architecture as social artifact, that is, something that software developers talk about and use in their work. This analysis is histori...
We perform knowledge discovery in software archives in order to detect refactorings on the level of classes and methods. Our REFVIS prototype finds these refactorings in CVS repo...
Incremental software change adds new functionality to software. It is the foundation of software evolution, maintenance, iterative development, agile development, and other softwa...
Jonathan Buckner, Joseph Buchta, Maksym Petrenko, ...
Software evolution analysis is concerned with analysis of artifacts produced during a software systems life-cycle. Execution traces produced from instrumented code reflect a syst...
Michael Fischer, Johann Oberleitner, Harald Gall, ...
A commonly held belief is that the friend construct in C++ is a violation of encapsulation. However, little empirical analysis of its use has taken place to provide evidence to su...
Michael English, Jim Buckley, Tony Cahill, Kristia...