15th IEEE International Conference on Program Comprehension (ICPC '07)
Reducing Program Comprehension Effort in Evolving Software by Recognizing Feature Implementation Convergence
Banff, Alberta, Canada
June 26-June 29
ISBN: 0-7695-2860-0
The implementations of software features evolve as an application matures. We define a measure of feature implementation overlap that determines how similar features are in their execution by examining their call graphs. We consider how this measure changes over time, and evaluate the hypothesis that over time and subsequent versions of a software application, the implementations of semantically similar features converge. As the features of an application converge in their implementation, we are able to more effectively determine groups of semantically similar features and to reduce the cost of program comprehension by selecting few key features that give an overview of the system. We present a case study analyzing the features of the Jext, Firefox, and Gaim software systems to support our hypothesis.
Citation:
Jay Kothari, Trip Denton, Ali Shokoufandeh, Spiros Mancoridis, "Reducing Program Comprehension Effort in Evolving Software by Recognizing Feature Implementation Convergence," icpc, pp.17-26, 15th IEEE International Conference on Program Comprehension (ICPC '07), 2007