Characterizing the Functional Roles of Classes and Methods by Analyzing Feature Traces

Orla Greevy, Sté́phane Ducasse · Bern Open Repository and Information System (University of Bern)

Software developers are often faced with the task of maintaining or extending large and complex applications, with which they are unfamiliar. Typically change requests and bug reports are expressed in terms of system features. Much of the maintenance effort is spent trying to identify which classes and methods provide functionality to individual features. To tackle this problem, we propose an approach based on dynamic analysis that exploits the relationship between features and software entities. Our definition of a feature is a unit of observable behavior of a software system. We apply our approach to a large open source application and identify key classes and methods which provide functionality to individual features.

Read the paper · More papers on PaperTik