Call Graph Construction for Java Libraries
Abstract
Proceeding FSE 2016 Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. Today, every application uses software libraries. Yet, while a lot of research exists w.r.t. analyzing applications, research that targets the analysis of extensible libraries and frameworks as such is scarce. This is unfortunate because developers of libraries (e.g. the Java Development Kit) want to ensure that the library behaves as intended regardless of how it is used. To fill this gap, we discuss the construction of call graphs that abstract over all potential usages of the respective library. Additionally, we show that the current practice of using call graph algorithms designed for applications leads to call graphs that, at the same time, lack relevant call edges and contain unnecessary edges when used for libraries. Unlike algorithms for applications, call graph construction algorithms for libraries must also take the goals of subsequent analyses into consideration. We will discuss the differences between an analysis for vulnerabilities vs. one for general software quality attributes, e.g., dead methods. This distinction affects the decision about what constitutes the library-private implementation, which, therefore, needs special treatment.
- Citation
- BibTeX
Reif, M., Eichberg, M. & Mezini, M.,
(2018).
Call Graph Construction for Java Libraries.
In:
Tichy, M., Bodden, E., Kuhrmann, M., Wagner, S. & Steghöfer, J.-P.
(Hrsg.),
Software Engineering und Software Management 2018.
Bonn:
Gesellschaft für Informatik.
(S. 119-120).
@inproceedings{mci/Reif2018,
author = {Reif, Michael AND Eichberg, Michael AND Mezini, Mira},
title = {Call Graph Construction for Java Libraries},
booktitle = {Software Engineering und Software Management 2018},
year = {2018},
editor = {Tichy, Matthias AND Bodden, Eric AND Kuhrmann, Marco AND Wagner, Stefan AND Steghöfer, Jan-Philipp} ,
pages = { 119-120 },
publisher = {Gesellschaft für Informatik},
address = {Bonn}
}
author = {Reif, Michael AND Eichberg, Michael AND Mezini, Mira},
title = {Call Graph Construction for Java Libraries},
booktitle = {Software Engineering und Software Management 2018},
year = {2018},
editor = {Tichy, Matthias AND Bodden, Eric AND Kuhrmann, Marco AND Wagner, Stefan AND Steghöfer, Jan-Philipp} ,
pages = { 119-120 },
publisher = {Gesellschaft für Informatik},
address = {Bonn}
}
Haben Sie fehlerhafte Angaben entdeckt? Sagen Sie uns Bescheid: Send Feedback
More Info
ISBN: 978-3-88579-673-2
ISSN: 1617-5468
xmlui.MetaDataDisplay.field.date: 2018
Language: (en)
Content Type: Text/Conference Paper