In modern software engineering, researchers regard a software system as an organic life form that must continue to evolve to remain successful. Unfortunately, little is known abou...
In this paper we introduce the evolution tree - a software life-cycle model that describes software development as the continuous evolution of a software product. That is, we view...
On-the-fly replacement of software may require simultanous distributed updates of components. If an update changes some interfaces or protocols, the update must be performed in a...
We have built a software development tool, CLIME, that uses constraints to ensure the consistency of the different artifacts associated with software. This approach to software dev...
This paper describes an effort to provide automated support for the interactive inquiry and explanation process that is at the heart of software understanding. A hypermedia tool c...