A Preparation Guide for Java Call Graph Comparison
Author(s) -
Edit Pengő,
Zoltán Ságodi
Publication year - 2019
Publication title -
acta cybernetica
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.143
H-Index - 18
eISSN - 2676-993X
pISSN - 0324-721X
DOI - 10.14232/actacyb.24.1.2019.10
Subject(s) - call graph , computer science , java , programming language , graph , theoretical computer science , pairing , matching (statistics) , mathematics , statistics , physics , superconductivity , quantum mechanics
Call graphs provide basis for numerous interprocedural analysers and tools, therefore it is crucial how precisely they are constructed. Developers need to know the features of a call graph builder before applying it to subsequent algorithms. The characteristics of call graph builders are best understood by comparing the generated call graphs themselves. The comparison can be done by matching the corresponding nodes in each graph and then analysing the found methods and calls. In this paper, we developed a process for pairing the nodes of multiple call graphs produced for the same source code. As the six static analysers that we collected for call graph building handles Java language elements differently, it was necessary to refine the basic name-wise pairing mechanism in several steps. Two language elements, the anonymous and generic methods, needed extra consideration. We describe the steps of improvement and our final solution to achieve the best possible pairing through the analysis of the Apache Commons-Math project.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom