Scalable Call Graph Constructor for Maven
Call Graphs are used for various applications. They can be generated by multiple well-known frameworks. However, all of them require a full program to be analyzed, making call graph generation an expensive task. To make an analysis applicable to ecosystem scale, it is necessary to make it incremental. There have been existing research on different types of incremental program analysis, but none of them focuses on call graph generation for an entire ecosystem.
In this paper, we propose an incremental implementation of the CHA algorithm that can generate call graph on demand, by stitching together partial call graphs that have been extracted for libraries before. Our preliminary evaluation results show that the proposed approach can highly affect the scalability of call graph generation and outperform the most scalable existing framework called OPAL.