The paper proposes a new measure for the cohesion of classes in Object-Oriented software systems. It is based on the analysis of latent topics embedded in comments and identifiers...
Yixun Liu, Denys Poshyvanyk, Rudolf Ferenc, Tibor ...
Concept location is a critical activity during software evolution as it produces the location where a change is to start in response to a modification request, such as, a bug repo...
Gregory Gay, Sonia Haiduc, Andrian Marcus, Tim Men...
Error recovery is an integral concern in compilers. Improving error recovery requires comprehension of a large and complex code base, in order to locate the places which raise err...
Method stereotype distribution is used as a signature for software systems. The stereotype for each method is determined using a presented taxonomy. The counts of the different st...
Natalia Dragan, Michael L. Collard, Jonathan I. Ma...
Code cloning is widely recognized as a threat to the maintainability of source code. As such, many clone detection and removal strategies have been proposed. However, some clones ...
Program call graph representation can be used to support many tasks in compiler optimization, program comprehension, and software maintenance. During software evolution, the call ...
Many software systems rely on third-party components during their build process. Because the components are constantly evolving, quality assurance demands that developers perform ...
Il-Chul Yoon, Alan Sussman, Atif M. Memon, Adam A....
Dependence analysis underpins many activities in software maintenance such as comprehension and impact analysis. As a result, dependence has been studied widely for programming la...
Kelly Androutsopoulos, Nicolas Gold, Mark Harman, ...
Back in 2001, the MIT announced aspect-oriented programming as a key technology in the next 10 years. Nowadays, 8 years later, AOP is not widely adopted. Several reasons can expla...
This work presents a descriptive and analytic study of classes playing zero, one, or two roles in six different design patterns (and combinations thereof). First, we answer three...