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...
During the past decade, object-orientation (OO) has become the dominant software development methodology, accompanied by a number of modeling notations, programming languages, and...
In modern software engineering, researchers regard a software system as an organic life form that must continue to evolve to remain successful. Unfortunately, little is known abou...
As more and more open-source software components become available on the internet we need automatic ways to label and compare them. For example, a developer who searches for reusa...
Assessing software quality and understanding how events in its evolution have lead to anomalies are two important steps toward reducing costs in software maintenance. Unfortunatel...
Guillaume Langelier, Houari A. Sahraoui, Pierre Po...