A diagnosis-based approach to software comprehension

Citation:
Perez A, Abreu R.  2014.  A diagnosis-based approach to software comprehension. ICPC - 22nd International Conference on Program Comprehension. :37–47.

Date Presented:

June

Abstract:

Program comprehension is a time-consuming task performed during the process of reusing, reengineering, and enhancing existing systems. Currently, there are tools to assist in program comprehension by means of dynamic analysis, but, e.g., most cannot identify the topology and the interactions of a certain functionality in need of change, especially when used in large, real-world software applications. We propose an approach, coined Spectrum-based Feature Comprehension (SFC), that borrows techniques used for automatic software-fault-localization, which were proven to be ef ective even when debugging large applications in resource constrained environments. SFC analyses the program by exploiting run-time information from test case executions to compute the components that are important for a given feature (and whether a component is used to implement just one feature or more), helping software engineers to understand how a program is structured and what 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 with the open-source application Rhino is presented, demonstrating the eciency of Pangolin in locating the components that should be inspected when changing a certain functionality.

Citation Key:

perez2014diagnosis

DOI:

10.1145/2597008.2597151

PreviewAttachmentSize
icpc2014preprint.pdf624.62 KB