TU Darmstadt / ULB / TUbiblio

Reviser: efficiently updating IDE-/IFDS-based data-flow analyses in response to incremental program changes.

Arzt, Steven ; Bodden, Eric (2014)
Reviser: efficiently updating IDE-/IFDS-based data-flow analyses in response to incremental program changes.
ICSE. Hyderabad
Konferenzveröffentlichung, Bibliographie

Kurzbeschreibung (Abstract)

Most application code evolves incrementally, and especially so when being maintained after the applications have been deployed. Yet, most data-flow analyses do not take advantage of this fact. Instead they require clients to recompute the entire analysis even if little code has changed - a time consuming undertaking, especially with large libraries or when running static analyses often, e.g., on a continuous-integration server.

In this work, we present Reviser, a novel approach for automatically and efficiently updating inter-procedural data-flow analysis results in response to incremental program changes. Reviser follows a clear-and-propagate philosophy, aiming at clearing and recomputing analysis information only where required, thereby greatly reducing the required computational effort. The Reviser algorithm is formulated as an extension to the IDE framework for Inter-procedural Finite Distributed Environment problems and automatically updates arbitrary IDE-based analyses.

We have implemented Reviser as an open-source extension to the Heros IFDS/IDE solver and the Soot program-analysis framework. An evaluation of Reviser on various client analyses and target programs shows performance gains of up to 80% in comparison to a full recomputation. The experiments also show Reviser to compute the same results as a full recomputation on all instances tested.

Typ des Eintrags: Konferenzveröffentlichung
Erschienen: 2014
Autor(en): Arzt, Steven ; Bodden, Eric
Art des Eintrags: Bibliographie
Titel: Reviser: efficiently updating IDE-/IFDS-based data-flow analyses in response to incremental program changes.
Sprache: Englisch
Publikationsjahr: 2014
Veranstaltungstitel: ICSE
Veranstaltungsort: Hyderabad
Kurzbeschreibung (Abstract):

Most application code evolves incrementally, and especially so when being maintained after the applications have been deployed. Yet, most data-flow analyses do not take advantage of this fact. Instead they require clients to recompute the entire analysis even if little code has changed - a time consuming undertaking, especially with large libraries or when running static analyses often, e.g., on a continuous-integration server.

In this work, we present Reviser, a novel approach for automatically and efficiently updating inter-procedural data-flow analysis results in response to incremental program changes. Reviser follows a clear-and-propagate philosophy, aiming at clearing and recomputing analysis information only where required, thereby greatly reducing the required computational effort. The Reviser algorithm is formulated as an extension to the IDE framework for Inter-procedural Finite Distributed Environment problems and automatically updates arbitrary IDE-based analyses.

We have implemented Reviser as an open-source extension to the Heros IFDS/IDE solver and the Soot program-analysis framework. An evaluation of Reviser on various client analyses and target programs shows performance gains of up to 80% in comparison to a full recomputation. The experiments also show Reviser to compute the same results as a full recomputation on all instances tested.

Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
LOEWE
LOEWE > LOEWE-Zentren
Zentrale Einrichtungen
LOEWE > LOEWE-Zentren > CASED – Center for Advanced Security Research Darmstadt
20 Fachbereich Informatik > EC SPRIDE
20 Fachbereich Informatik > EC SPRIDE > Secure Software Engineering
Hinterlegungsdatum: 24 Nov 2014 14:16
Letzte Änderung: 03 Jun 2018 21:25
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