One of the most critical issues in large-scale software development and maintenance is the rapidly growing size and complexity of software systems. As a result of this rapid growt...
A large software project may be distributed over multiple sites when the organization believes that there are not enough people to staff a single collocated team. However, previou...
During the past ten years, a large number of quality models have been proposed in the literature. In general, the goal of these models is to predict a quality factor starting from...
Reengineering existing (large-scale) applications to the web is a complex and highly challenging task. This is due to a variety of mostly demanding requirements for interactive we...
Design patterns have been widely adopted and well investigated by the software engineering community over the past decade. However, their primary use is still associated with forw...
With the growing popularity of the Java programming language for both client and server side applications in network-centric computing, there is a rising need for programming libr...
The evolution of complex software systems is promoted by software engineering principles and techniques like separation of concerns, encapsulation, stepwise refinement, and reusab...
Static analysis aims at recovering the structure of a software system, while dynamic analysis focuses on its run time behaviour. We propose a technique for combining the analysis ...
The reverse and reengineering research communities have a strong tradition of collecting, organizing, and unifying research results. Typical examples include an explicit taxonomy,...