CERBERUS: Tracing Requirements to Source Code Using Information Retrieval, Dynamic Analysis, and Program Analysis

  • Authors:
  • Marc Eaddy;Alfred V. Aho;Giuliano Antoniol;Yann-Gaël Guéhéneuc

  • Affiliations:
  • -;-;-;-

  • Venue:
  • ICPC '08 Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

The concern location problem is to identify the source code within a program related to the features, requirements, or other concerns of the program. This problem is central to program development and maintenance. We present a new technique called prune dependency analysis that can be combined with existing techniques to dramatically improve the accuracy of concern location. We developed CERBERUS, a potent hybrid technique for concern location that combines information retrieval, execution tracing, and prune dependency analysis. We used CERBERUS to trace the 360 requirements of RHINO, a 32,134 line Java program that implements the ECMAScript international standard. In our experiment, prune dependency analysis boosted the recall of information retrieval by 155% and execution tracing by 104%. Moreover, we show that our combined technique outperformed the other techniques when run individually or in pairs.