Framing program comprehension as fault localization

9Citations
Citations of this article
16Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Program comprehension is a time-consuming task performed during the process of reusing, reengineering, and enhancing existing systems. There are tools to assist comprehension by means of dynamic analysis, but most cannot identify the topology and the interactions of certain functionality in need of change. We propose an approach, coined Spectrum-based Feature Comprehension (SFC), that borrows techniques from software-fault localization that were proven to be effective even when debugging large applications. SFC analyses the program by exploiting run-time information from test case executions to identify the components that are important for a given feature, helping software engineers to understand how a program is structured and each of the functionality's dependencies are. We present a toolset, coined PANGOLIN, that implements SFC and displays its report to the user using an intuitive visualization. A user study presented demonstrating PANGOLIN's efficiency in locating components that should be inspected when changing a certain functionality. Participants using SFC spent a median of 50 min locating the feature with greater accuracy, whereas participants using coverage tools took 60 min. Finally, we also detail the Participatory Feature Detection approach, where user interactions with the system are captured; removing the hindrance of requiring pre-existing automated tests. Copyright © 2016 John Wiley & Sons, Ltd.

Cite

CITATION STYLE

APA

Perez, A., & Abreu, R. (2016). Framing program comprehension as fault localization. In Journal of Software: Evolution and Process (Vol. 28, pp. 840–862). John Wiley and Sons Ltd. https://doi.org/10.1002/smr.1799

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free