Matching dependence-related queries in the system dependence graph
Proceedings of the 25th IEEE/ACM International Conference on Automated …, 2010•dl.acm.org
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 …
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 …
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.
ACM Digital Library