A Program Slicing Approach for Locating Functional Concerns

Takashi Ishio, Ryusuke Niitani, Gail C. Murphy, Katsuro Inoue, Canadá · 2007

A functional concern – code that helps fulfill a functional requirement – is typically implemented by collaborative software modules. When a developer modifies or reuses the implementation of a functional concern, he must find the modules contributing to the concern and understand how the units collaborate with one another. In this paper, we describe an approach for locating the code contributing to a functional concern that is based on program slicing. Our approach uses heuristics to bound the size of the slice determined to represent the functional concern, thereby overcoming the large slice sizes that often limit the usefulness of program slicing based approaches. Our approach outputs a description of the functional concern’s implementation as a concern graph, which summarizes the interactions between the program elements in the slice. We report on an evaluation in which we compared the size and content of concern graphs produced by our approach with concern graphs made by hand by two developers. We show that our method can extract concern graphs with appropriate content for a developer automatically, reducing the cost of locating functional concerns. 1

Read the paper · More papers on PaperTik