Analyzing historical information can show how a software system evolved into its current state, which parts of the system are stable and which have changed more. However, historic...
Program slicing identifies parts of a program that potentially affect a chosen computation. It has many applications in software engineering, including maintenance, evolution and ...
Nowadays, software evolution is a very hot topic. Many applications need to be updated or extended with new characteristics during their lifecycle. Software evolution is character...
Background: As the canonical code is not universal, different theories about its origin and organization have appeared. The optimization or level of adaptation of the canonical ge...
Software architectures are often designed with respect to some architecture patterns, like the pipeline and peer-to-peer. These patterns are the guarantee of some quality attribute...