In order to build predictors of the maintainability of evolving software, we first need a means for measuring maintainability as well as a training set of software modules for whi...
To remain competitive in the fast paced world of software development, managers must optimize the usage of their limited resources to deliver quality products on time and within b...
Frameworks and libraries change their APIs. Migrating an application to the new API is tedious and disrupts the development process. Although some tools and ideas have been propos...
A reference architecture for a domain captures the fundamental subsystems common to systems of that domain as well as the relationships between these subsystems. Having a referenc...
Many of the approaches that analyze software evolution consider a static perspective of a system. Static analysis approaches focus on the evolution of static software entities suc...
Surprising as it may seem, many of the early adopters of the object-oriented paradigm already face a number of problems typically encountered in large-scale legacy systems. Softwa...
Crisp is a tool (i.e., an Eclipse plug-in) for constructing intermediate versions of a Java program that is being edited in an IDE such as Eclipse. After a long editing session, a...
Design patterns present good solutions to frequently occurring problems in object-oriented software design. Thus their correct application in a system’s design may significantl...
This paper introduces an automated technique for feature location: helping developers map features to relevant source code. Like several other automated feature location technique...
This paper describes a case study of the release management of CS-ECIS, a health-care information system developed by the Dutch software vendor ChipSoft. We performed this case st...