Libraries provide implementation for the concepts of a particular domain. When programmers use a library, they do not work any more with the real-world concepts but with their imp...
Software systems are typically developed by teams of developers, with responsibilities for different parts of the code. Knowledge of how the developers collaborate, and how their ...
As software systems evolve, they become more complex and harder to understand and maintain. Certain reverse engineering techniques attempt to reconstruct software models from sour...
Evolving software-intensive systems from one consistent state to another is a challenging activity due to the intricate inter-dependencies among the components. In this paper, we ...
Static program slicing is often proposed for software maintenance-related tasks. Due to different causes static slices are in many cases overly conservative and hence too large to...