Matching dependence-related queries in the system dependence graph

  • Authors:
  • Xiaoyin Wang;David Lo;Jiefeng Cheng;Lu Zhang;Hong Mei;Jeffrey Xu Yu

  • Affiliations:
  • Peking University, Beijing, China;Singapore Management University, Singapore, Singapore;The Chinese University of Hong Kong, Hong Kong, Hong Kong;Peking University, Beijing, China;Peking University, Beijing, China;The Chinese University of Hong Kong, Hong Kong, Hong Kong

  • Venue:
  • Proceedings of the IEEE/ACM international conference on Automated software engineering
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

In software maintenance and evolution, it is common that developers want to apply a change to a number of similar places. Due to the size and complexity of the code base, it is challenging for developers to locate all the places that need the change. A main challenge in locating the places that need the change is that, these places share certain common dependence conditions but existing code searching techniques can hardly handle dependence relations satisfactorily. In this paper, we propose a technique that enables developers to make queries involving dependence conditions and textual conditions on the system dependence graph of the program. We carried out an empirical evaluation on four searching tasks taken from the development history of two real-world projects. The results of our evaluation indicate that, compared with code-clone detection, our technique is able to locate many required code elements that code-clone detection cannot locate, and compared with text search, our technique is able to effectively reduce false positives without losing any required code elements.