Understanding an application's functional and nonfunctional requirements is normally seen as essential for developing a robust product suited to client needs. This paper desc...
Design anomalies, introduced during software evolution, are frequent causes of low maintainability and low flexibility to future changes. Because of the required knowledge, an im...
Evidence suggests that as software ages the original realizations of design patterns remain in place, and participants in design pattern realizations accumulate “grime” – no...
Capturing and using design rationale is becoming a hot topic for software architects, as architectural design decisions are now considered first class entities that should be reco...
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...