In distributed and mobile environments, the connections among the hosts on which a software system is running are often unstable. As a result of connectivity losses, the overall av...
In distributed and mobile environments, the connections among the hosts on which a software system is running are often unstable. As a result of connectivity losses, the overall a...
In this paper we are trying to clarify, with the aid of some semiotic notions, the confusions that lie around the widely used terms “analysis model” and “design model” in s...
In this paper, we envision a world where a software engineer could take an existing software system, specify, for a set of properties of interest, an objective, conditions for chan...
Using visualization and exploration tools can be of great use for the understanding of a software system when only its source code is available. However, understanding a large sof...
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, ...
Changes of software systems are less expensive and less error-prone if they affect only one subsystem. Thus, clusters of artifacts that are frequently changed together are subsyst...
Approximately 70% of the source code of a software system consists of identifiers. Hence, the names chosen as identifiers are of paramount importance for the readability of comp...
Programmers often have to perform change tasks that involve unfamiliar portions of a software system’s code base. To help inform the design of software development tools intende...
Jonathan Sillito, Kris De Volder, Brian Fisher, Ga...
This paper presents an approach for comprehending large software systems using views that are created by subjecting the software systems to dynamic analysis under various use-case...