As software developers we are engineers because we make useful machines. We are concerned both with the world, in which the machine serves a useful purpose, and with the machine i...
When software projects evolve their actual implementation and their intended architecture may drift apart resulting in problems for further maintenance. As a countermeasure it is g...
: Refactoring is a process meant to improve the internal quality of software systems. However, while on one hand, the guidelines for this delicate process are still empirical and q...
For a software project to succeed, acceptable quality must be achieved within an acceptable cost, providing business value to the customers, and keeping delivery time short. Softwa...
Qi Li, Mingshu Li, Ye Yang, Qing Wang, Thomas Tan,...
During software evolution a collection of related artifacts with different representations are created. Some of these are composed of structured data (e.g., analysis data), some c...
Andrian Marcus, Andrea De Lucia, Jane Huffman Haye...