It is well known that software maintenance and evolution are expensive activities, both in terms of invested time and money. Reverse engineering activities support the obtainment ...
When trying to understand the evolution of a software system it can be useful to visualize the evolution of the system’s architecture. Existing tools for viewing architectural e...
In component-based software development, it is important to ensure interoperability between components based on their unambiguous semantic descriptions, in order to obtain a viabl...
We describe EUREKA, a symbolic model checker for Linear Programs with arrays, i.e. programs where variables and array elements range over a numeric domain and expressions involve ...
The size, complexity and duration of typical software engineering projects means that teams of developers will work on them. However, with the exception of version control systems...