A preparation guide for Java call graph comparison finding a match for your methods /

Call graphs provide a basis for numerous interprocedural analyzers 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 unde...

Full description

Saved in:
Bibliographic Details
Main Authors: Pengő Edit
Ságodi Zoltán
Corporate Author: Conference of PhD students in computer science (11.) (2018) (Szeged)
Format: Article
Published: University of Szeged, Institute of Informatics Szeged 2019
Series:Acta cybernetica 24 No. 1
Kulcsszavak:Java, Programozás, Számítástechnika
Subjects:
doi:10.14232/actacyb.24.1.2019.10

Online Access:http://acta.bibl.u-szeged.hu/59232
Description
Summary:Call graphs provide a basis for numerous interprocedural analyzers 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 analyzing 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 analyzers 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 we are able to provide, through the analysis of the Apache Commons-Math project.
Physical Description:131-155
ISSN:0324-721X