TU Darmstadt / ULB / TUbiblio

Unimocg: Modular Call-Graph Algorithms for Consistent Handling of Language Features

Helm, Dominik ; Roth, Tobias ; Keidel, Sven ; Reif, Michael ; Mezini, Mira (2024)
Unimocg: Modular Call-Graph Algorithms for Consistent Handling of Language Features.
33rd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2024). Vienna, Austria (18.09.2024 - 20.09.2024)
doi: 10.1145/3650212.3652109
Konferenzveröffentlichung, Bibliographie

Kurzbeschreibung (Abstract)

Traditional call-graph construction algorithms conflate the computation of possible runtime types with the actual resolution of (virtual) calls. This tangled design impedes supporting complex language features and APIs and making systematic trade-offs between precision, soundness, and scalability. It also impedes implementation of precise downstream analyses that rely on type information.

To address the problem, we propose Unimocg, a modular architecture for call-graph construction that decouples the computation of type information from resolving calls. Due to its modular design, Unimocg can combine a wide range of different call-graph algorithms with algorithm-agnostic modules to support individual language features. Moreover, these modules operate at the same precision as the chosen call-graph algorithm with no further effort. Additionally, Unimocg allows other analyses to easily reuse type information from the call-graph construction at full precision.

We demonstrate how Unimocg enables a framework of call-graph algorithms with different precision, soundness, and scalability trade-offs from reusable modules. Unimocg currently supports ten call-graph algorithms from vastly different families, such as CHA, RTA, XTA, and k-l-CFA. These algorithms show consistent soundness without sacrificing precision or performance. We also show how an immutability analysis is improved using Unimocg.

Typ des Eintrags: Konferenzveröffentlichung
Erschienen: 2024
Autor(en): Helm, Dominik ; Roth, Tobias ; Keidel, Sven ; Reif, Michael ; Mezini, Mira
Art des Eintrags: Bibliographie
Titel: Unimocg: Modular Call-Graph Algorithms for Consistent Handling of Language Features
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.3652109
URL / URN: https://dl.acm.org/doi/10.1145/3650212.3652109
Kurzbeschreibung (Abstract):

Traditional call-graph construction algorithms conflate the computation of possible runtime types with the actual resolution of (virtual) calls. This tangled design impedes supporting complex language features and APIs and making systematic trade-offs between precision, soundness, and scalability. It also impedes implementation of precise downstream analyses that rely on type information.

To address the problem, we propose Unimocg, a modular architecture for call-graph construction that decouples the computation of type information from resolving calls. Due to its modular design, Unimocg can combine a wide range of different call-graph algorithms with algorithm-agnostic modules to support individual language features. Moreover, these modules operate at the same precision as the chosen call-graph algorithm with no further effort. Additionally, Unimocg allows other analyses to easily reuse type information from the call-graph construction at full precision.

We demonstrate how Unimocg enables a framework of call-graph algorithms with different precision, soundness, and scalability trade-offs from reusable modules. Unimocg currently supports ten call-graph algorithms from vastly different families, such as CHA, RTA, XTA, and k-l-CFA. These algorithms show consistent soundness without sacrificing precision or performance. We also show how an immutability analysis is improved using Unimocg.

Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Softwaretechnik
Hinterlegungsdatum: 27 Sep 2024 10:51
Letzte Änderung: 13 Dez 2024 09:46
PPN: 524636958
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