TU Darmstadt / ULB / TUbiblio

Total Recall? How Good Are Static Call Graphs Really?

Helm, Dominik ; Keidel, Sven ; Kampkötter, Anemone ; Düsing, Johannes ; Roth, Tobias ; Hermann, Ben ; Mezini, Mira (2024)
Total Recall? How Good Are Static Call Graphs Really?
33rd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2024). Vienna, Austria (18.09.2024 - 20.09.2024)
doi: 10.1145/3650212.3652114
Konferenzveröffentlichung, Bibliographie

Kurzbeschreibung (Abstract)

Static call graphs are a fundamental building block of program analysis. However, differences in call-graph construction and the use of specific language features can yield unsoundness and imprecision. Call-graph analyses are evaluated using measures of precision and recall, but this is hard when a ground truth for real-world programs is generally unobtainable.

In this work, we propose to use carefully constructed dynamic baselines based on fixed entry points and input corpora. The creation of this dynamic baseline is posed as an approximation of the ground truth—an optimization problem. We use manual extension and coverage-guided fuzzing for creating suitable input corpora.

With these dynamic baselines, we study call-graph quality of multiple algorithms and implementations using four real-world Java programs. We find that our methodology provides valuable insights into call-graph quality and how to measure it. With this work, we provide a novel methodology to advance the field of static program analysis as we assess the computation of one of its core data structures—the call graph.

Typ des Eintrags: Konferenzveröffentlichung
Erschienen: 2024
Autor(en): Helm, Dominik ; Keidel, Sven ; Kampkötter, Anemone ; Düsing, Johannes ; Roth, Tobias ; Hermann, Ben ; Mezini, Mira
Art des Eintrags: Bibliographie
Titel: Total Recall? How Good Are Static Call Graphs Really?
Sprache: Englisch
Publikationsjahr: 11 September 2024
Verlag: ACM
Buchtitel: Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis
Veranstaltungstitel: 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2024)
Veranstaltungsort: Vienna, Austria
Veranstaltungsdatum: 18.09.2024 - 20.09.2024
DOI: 10.1145/3650212.3652114
URL / URN: https://dl.acm.org/doi/10.1145/3650212.3652114
Zugehörige Links:
Kurzbeschreibung (Abstract):

Static call graphs are a fundamental building block of program analysis. However, differences in call-graph construction and the use of specific language features can yield unsoundness and imprecision. Call-graph analyses are evaluated using measures of precision and recall, but this is hard when a ground truth for real-world programs is generally unobtainable.

In this work, we propose to use carefully constructed dynamic baselines based on fixed entry points and input corpora. The creation of this dynamic baseline is posed as an approximation of the ground truth—an optimization problem. We use manual extension and coverage-guided fuzzing for creating suitable input corpora.

With these dynamic baselines, we study call-graph quality of multiple algorithms and implementations using four real-world Java programs. We find that our methodology provides valuable insights into call-graph quality and how to measure it. With this work, we provide a novel methodology to advance the field of static program analysis as we assess the computation of one of its core data structures—the call graph.

Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Softwaretechnik
Hinterlegungsdatum: 27 Sep 2024 10:59
Letzte Änderung: 27 Sep 2024 10:59
PPN:
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen