Systematic Comparison of Six Open-source Java Call Graph Construction Tools

Judit Jász, István Siket, Edit Pengő, Zoltán Ságodi, Rudolf Ferenc

2019

Abstract

Call graphs provide the groundwork for numerous analysis algorithms and tools. However, in practice, their construction may have several ambiguities, especially for object-oriented programming languages like Java. The characteristics of the call graphs – which are influenced by building requirements such as scalability, efficiency, completeness, and precision – can greatly affect the output of the algorithms utilizing them. Therefore, it is important for developers to know a well-defined set of criteria based on which they can choose the most appropriate call graph builder tool for their static analysis applications. In this paper, we studied and compared six static call graph creator tools for Java. Our aim was to identify linguistic and technical properties that might induce differences in the generated call graphs besides the obvious differences caused by the various call graph construction algorithms. We evaluated the tools on multiple real-life open-source Java systems and performed a quantitative and qualitative assessment of the resulting graphs. We have shown how different outputs could be generated by the different tools. By manually analyzing the differences found on larger programs, we also found differences that we did not expect based on our preliminary assumptions.

Download


Paper Citation


in Harvard Style

Jász J., Siket I., Pengő E., Ságodi Z. and Ferenc R. (2019). Systematic Comparison of Six Open-source Java Call Graph Construction Tools.In Proceedings of the 14th International Conference on Software Technologies - Volume 1: ICSOFT, ISBN 978-989-758-379-7, pages 117-128. DOI: 10.5220/0007929201170128


in Bibtex Style

@conference{icsoft19,
author={Judit Jász and István Siket and Edit Pengő and Zoltán Ságodi and Rudolf Ferenc},
title={Systematic Comparison of Six Open-source Java Call Graph Construction Tools},
booktitle={Proceedings of the 14th International Conference on Software Technologies - Volume 1: ICSOFT,},
year={2019},
pages={117-128},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0007929201170128},
isbn={978-989-758-379-7},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 14th International Conference on Software Technologies - Volume 1: ICSOFT,
TI - Systematic Comparison of Six Open-source Java Call Graph Construction Tools
SN - 978-989-758-379-7
AU - Jász J.
AU - Siket I.
AU - Pengő E.
AU - Ságodi Z.
AU - Ferenc R.
PY - 2019
SP - 117
EP - 128
DO - 10.5220/0007929201170128