As a program evolves, it becomes increasingly difficult to understand and reason about changes in the source code. Eventually, if enough changes are made, reverse engineering and ...
It is commonly agreed that a self-adaptive software system is one that can modify itself at run-time due to changes in the system, its requirements, or the environment in which it ...
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...
This paper explores how to characterise security properties of software components, and how to reason about their suitability for a trustworthy compositional contract. Our framewo...
Real world software systems undergo, during their lifetime, to repeated maintenance activities. Due to the market pressure and to the need for having back the system operational i...