Scalable data-flow analysis through sparsification and precise call graphs

Die statische Datenflussanalyse zielt darauf ab, fehlerfreie, sichere und hochwertige Software zu gewährleisten, indem sie alle möglichen Ausführungen eines Zielprogramms berücksichtigt. Aufgrund von Skalierbarkeitsbeschränkungen führt dies häufig zu starken Überapproximationen, die die Präzision der Analyse beeinträchtigen. Andererseits verbessert Sparsifizierung, eine Optimierungstechnik, die Daten-flussanalysen auf analysenrelevante Programmstatements beschränkt, die Skalierbarkeit der Datenflussanalyse und bewahrt gleichzeitig deren Präzision.Diese Arbeit stellt SPARSEIDE vor, ein neuartiges Framework, das eine (Datenfluss-)Fakt-spezifische Sparsifizierung für jede Datenflussanalyse realisiert, die im IDE-Framework (Interprocedural Distributive Environments) realisiert wird. ObwohlIDE-Analysen nur in Bezug auf Symbole und nicht auf Werte sparsifiziert werdenkönnen, erzielt SPARSEIDE deutlich geringere Laufzeiten und einen geringeren Spe-icherverbrauch als das ursprüngliche IDE.Ansätze zur Verbesserung der Skalierbarkeit aus der Literatur, darunter SPARSEIDE,verwenden einen festen Call-Graph-Algorithmus, ohne dessen Auswirkungen auf die nachgelagerte Datenflussanalyse zu berücksichtigen. Anhand einer umfassendenempirischen Bewertung zeigt diese Arbeit, wie präzise kontextsensitive Call-Graphendie Laufzeiten der Datenflussanalyse erheblich reduzieren.Präzise Datenflussanalysen analysieren den Heap anhand von Pointer-Analysen, die ebenfalls schwer zu skalieren sind. Diese Arbeit stellt SPARSEBOOMERANG als Anwendung der Fakt-spezifischen Sparsifizierung auf die bedarfsorientierte Pointersanalyse vor. SPARSEBOOMERANG realisiert zwei verschiedene Sparsifizierung-Strategien,die die Eigenschaften der Pointeranalyse-Domäne nutzen: eine type-aware Sparsifizierung und eine alias-aware Sparsifizierung. Interprocedural Datenflussanalysen umfassen einen Datenfluss-Solver, einen Call-Graph und eine Pointer-Analyse. Diese Arbeit zeigt, wie präzise Datenflussanalysen skaliert werden können, indem alle drei Komponenten unter dem Gesichtspunkt der Sparsifizierung betrachtet werden. Eine Fakt-spezifische Sparsifizierung reduziert die Arbeitslast des Datenfluss-Solvers. Als orthogonale Komponente hat die Wahl des Call-Graphen einen erheblichen Einfluss auf die Skalierbarkeit der Datenflussanalyse.Die Pointer-Analyse, die bekanntermaßen ein nicht-distributives Problem darstellt,profitiert ebenfalls von einer Fakt-spezifischen Sparsifizierung, wenn sie innerhalb eines distributiven Datenflussanalyse-Frameworks formuliert wird.

Publication Details

Journal
Amtliche Mitteilungen (Universitätsbibliothek Paderborn)
Published
2025-11-05
DOI
https://doi.org/10.17619/unipb/1-2464
Primary Topic
Software System Performance and Reliability
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Scalable data-flow analysis through sparsification and precise call graphs

Amtliche Mitteilungen (Universitätsbibliothek Paderborn)
Software System Performance and Reliability
article

Scalable data-flow analysis through sparsification and precise call graphs

article en

Abstract

Die statische Datenflussanalyse zielt darauf ab, fehlerfreie, sichere und hochwertige Software zu gewährleisten, indem sie alle möglichen Ausführungen eines Zielprogramms berücksichtigt. Aufgrund von Skalierbarkeitsbeschränkungen führt dies häufig zu starken Überapproximationen, die die Präzision der Analyse beeinträchtigen. Andererseits verbessert Sparsifizierung, eine Optimierungstechnik, die Daten-flussanalysen auf analysenrelevante Programmstatements beschränkt, die Skalierbarkeit der Datenflussanalyse und bewahrt gleichzeitig deren Präzision.Diese Arbeit stellt SPARSEIDE vor, ein neuartiges Framework, das eine (Datenfluss-)Fakt-spezifische Sparsifizierung für jede Datenflussanalyse realisiert, die im IDE-Framework (Interprocedural Distributive Environments) realisiert wird. ObwohlIDE-Analysen nur in Bezug auf Symbole und nicht auf Werte sparsifiziert werdenkönnen, erzielt SPARSEIDE deutlich geringere Laufzeiten und einen geringeren Spe-icherverbrauch als das ursprüngliche IDE.Ansätze zur Verbesserung der Skalierbarkeit aus der Literatur, darunter SPARSEIDE,verwenden einen festen Call-Graph-Algorithmus, ohne dessen Auswirkungen auf die nachgelagerte Datenflussanalyse zu berücksichtigen. Anhand einer umfassendenempirischen Bewertung zeigt diese Arbeit, wie präzise kontextsensitive Call-Graphendie Laufzeiten der Datenflussanalyse erheblich reduzieren.Präzise Datenflussanalysen analysieren den Heap anhand von Pointer-Analysen, die ebenfalls schwer zu skalieren sind. Diese Arbeit stellt SPARSEBOOMERANG als Anwendung der Fakt-spezifischen Sparsifizierung auf die bedarfsorientierte Pointersanalyse vor. SPARSEBOOMERANG realisiert zwei verschiedene Sparsifizierung-Strategien,die die Eigenschaften der Pointeranalyse-Domäne nutzen: eine type-aware Sparsifizierung und eine alias-aware Sparsifizierung. Interprocedural Datenflussanalysen umfassen einen Datenfluss-Solver, einen Call-Graph und eine Pointer-Analyse. Diese Arbeit zeigt, wie präzise Datenflussanalysen skaliert werden können, indem alle drei Komponenten unter dem Gesichtspunkt der Sparsifizierung betrachtet werden. Eine Fakt-spezifische Sparsifizierung reduziert die Arbeitslast des Datenfluss-Solvers. Als orthogonale Komponente hat die Wahl des Call-Graphen einen erheblichen Einfluss auf die Skalierbarkeit der Datenflussanalyse.Die Pointer-Analyse, die bekanntermaßen ein nicht-distributives Problem darstellt,profitiert ebenfalls von einer Fakt-spezifischen Sparsifizierung, wenn sie innerhalb eines distributiven Datenflussanalyse-Frameworks formuliert wird.

Amtliche Mitteilungen (Universitätsbibliothek Paderborn)
Openalex Percentile: Top 38%
Software System Performance and Reliability
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.