One approach to supporting program comprehension involves binding concepts to source code. Previously proposed approaches to concept binding have enforced nonoverlapping boundarie...
Nicolas Gold, Mark Harman, Zheng Li, Kiarash Mahda...
Spatial cognition and program development have both been examined using contrasting models. We suggest that sex-based differences in one’s perception of risk is the key to relat...
An approach to automatically identify the stereotypes of all the methods in an entire system is presented. A taxonomy for object-oriented class method stereotypes is given that un...
Natalia Dragan, Michael L. Collard, Jonathan I. Ma...
Crosscutting concerns are software system features whose implementation is spread across many modules as tangled and scattered code. Identifying such code helps developers to chan...
Gerardo Canfora, Luigi Cerulo, Massimiliano Di Pen...
In the traditional software engineering courses, the students develop small programs from scratch. This does not correspond to industry practice where programmers spend most of th...
Joseph Buchta, Maksym Petrenko, Denys Poshyvanyk, ...
Software design patterns are documented best practice solutions that can be applied to reoccurring problems. Although well documented, there are often opportunities to apply them ...
Programming languages provide various mechanisms to support information hiding. One problem with information hiding, however, is that providing a stable interface behind which to ...
Software development, testing, and maintenance tools must yield assurance information in a standardized form. Developers can use this information to argue that the software is ade...
— Software maintenance tools for program analysis and refactoring rely on a meta-model capturing the relevant properties of programs. However, what is considered relevant may cha...