Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
9-2010
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.
Keywords
System Dependence Graph, Code Search, Graph Indexing
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
ASE 2010: Proccedings of the 25th IEEE/ACM International Conference on Automated Software Engineering, 20-24 September, Antwerp, Belgium
First Page
457
Last Page
466
ISBN
9781450301169
Identifier
10.1145/1858996.1859091
Publisher
ACM
City or Country
New York
Citation
WANG, Xiaoyin; LO, David; CHENG, Jiefeng; ZHANG, Lu; MEI, Hong; and YU, Jeffrey Xu.
Matching dependence-related queries in the system dependence graph.. (2010). ASE 2010: Proccedings of the 25th IEEE/ACM International Conference on Automated Software Engineering, 20-24 September, Antwerp, Belgium. 457-466.
Available at: https://ink.library.smu.edu.sg/sis_research/1349
Copyright Owner and License
Publisher
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1145/1858996.1859091