Incremental call graph construction for the eclipse IDE

Loading...
Thumbnail Image

Journal Title

Journal ISSN

Volume Title

Publisher

University of Waterloo

Abstract

A call graph is a powerful tool for program analysis and can be used to: help plan testing strategies, reduce program size and help programmers understand and debug large programs. We can use either dynamic or static call graph generation techniques. Dynamic call graphs tend to underestimate the number of target methods for a call site where as static call graphs tend to overestimate this number. A theoretically ideal call graph is the union of the dynamic call graphs over all possible executions of the program. Dynamic call graphs are not safe and generating static call graphs is computationally expensive. We propose an incremental call graph generation approach which will compute graphs for fragments of the program as they are being developed. It will then recursively combine fragments until a graph for the whole program is generated. The graph will be as precise as corresponding traditional algorithms and will present, upon completion, a safe call graph.

Description

Keywords

Citation

Endorsement

Review

Supplemented By

Referenced By