Program understanding relates a computer program to the goals and requirements it is designed to accomplish. Understanding techniques that rely only on source code analysis are li...
Richard Clayton, Spencer Rugaber, Lyman Taylor, Li...
The use of design patterns in a software system can provide strong indications about the rationale behind the system’s design. As a result, automating the detection of design pa...
Empirical software engineering focuses on the evaluation of software engineering technologies, such as processes and tools, by comparing related sets of data. It has contributed a ...
Davide Falessi, Philippe Kruchten, Giovanni Canton...
This article presents an approach to using open-source tools and open-source projects to add realistic and practical examples to a course on software design in a professional maste...
Software inspection is an effective way to assess product quality and to reduce the number of defects. In a software inspection the inspection meeting is a key activity to agree o...