The frequent changes during the development and usage of large software systems often lead to a loss of architectural quality which hampers the implementation of further changes a...
This paper describes work in progress on how to build open source communities. The proposed approach is based on exploiting existing social software communities and applications t...
Techniques to update executing programs are needed to maintain software for which downtime is not an option. Without guidelines, dynamic update may provoke unreliable and unpredic...
Software vendors are unaware of how their software performs in the field. They do not know what parts of their software are used and appreciated most and have little knowledge ab...
Henk van der Schuur, Slinger Jansen, Sjaak Brinkke...
A Dependence Anti Pattern is a dependence structure that may indicate potential problems for on–going software maintenance and evolution. Dependence anti patterns are not struct...
David Binkley, Nicolas Gold, Mark Harman, Zheng Li...
In a highly dynamic environment, software systems requires a capacity of self-adaptation to fit the environment and the user needs evolution, which increases the software archite...
—Peer-to-peer (P2P) is becoming a key technology for software development, but still lacks integrated solutions to build trust in the final software, in terms of correctness and...
Code completion is a widely used productivity tool. It takes away the burden of remembering and typing the exact names of methods or classes: As a developer starts typing a name, ...
— Software programs continue to evolve throughout their lifetime. Maintenance of such evolving programs, including regression testing, is one of the most expensive activities in ...