An alternative approach to developing reusable components from scratch is to recover them from existing systems. Although numerous techniques have been proposed to recover reusabl...
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...
Shimba, a prototype reverse engineering environment, has been built to support the understanding of Java software. Shimba uses Rigi and SCED to analyze, visualize, and explore the...
Better understanding manual reverse engineering can make it and any associated systems reengineering more effective. We reverse engineered a version of a system (referred to as &q...
Dave Swafford, Diana Elman, Peter Aiken, Jeff Merh...
This paper presents a technique for recovering the high level design of legacy software systems according to user defined architectural plans. Architectural plans are represented...
In practice, a pure top-down and refinement-based development process is not applicable. A more iterative and incremental approach is usually applied with respect to changing req...
Object-oriented programming is about the creation of reusable classes that are to be extended to capture the specific requirements of the application at hand. However, instead of...
While Software Engineering has mainly focused so far on software development, software deployment is now emerging as a new research field. Software or Application deployment is a ...
The assessment of the changeability of software systems is of major concern for buyers of the large systems found in fast-moving domains such as telecommunications. One way of app...
M. Ajmal Chaumun, Hind Kabaili, Rudolf K. Keller, ...