TU Darmstadt / ULB / TUbiblio

Lattice Based Modularization of Static Analyses

Eichberg, Michael ; Kübler, Florian ; Helm, Dominik ; Reif, Michael ; Salvaneschi, Guido ; Mezini, Mira :
Lattice Based Modularization of Static Analyses.
[Online-Edition: https://dl.acm.org/citation.cfm?id=3236509]
In: SOAP 2018, Amsterdam, Netherlands. Companion Proceedings for the ISSTA/ECOOP 2018 Workshops ACM
[ Konferenzveröffentlichung] , (2018)

Offizielle URL: https://dl.acm.org/citation.cfm?id=3236509

Kurzbeschreibung (Abstract)

Static analyses which compute conceptually independent information, e.g., class immutability or method purity are typically developed as standalone, closed analyses. Complementary information that could improve the analyses is either ignored by making a sound over-approximation or it is also computed by the analyses, but at a rudimentary level. For example, an immutability analysis requires field mutability information, alias/escape information, and information about the concurrent behavior of methods to correctly classify classes like java.lang.String or java.util.BigDecimal. As a result, without properly supporting the integration of independently developed, mutually benefiting analysis, many analyses will not correctly classify relevant entities.

We propose to use explicitly reified lattices that encode the information about a source code element's properties (e.g., a method's purity or a class' immutability) as the sole interface between mutually dependent analyses. This enables the composition of multiple analyses. Our case study shows that using such an approach enables highly scalable, lightweight implementations of modularized static analyses.

Typ des Eintrags: Konferenzveröffentlichung
Erschienen: 2018
Autor(en): Eichberg, Michael ; Kübler, Florian ; Helm, Dominik ; Reif, Michael ; Salvaneschi, Guido ; Mezini, Mira
Titel: Lattice Based Modularization of Static Analyses
Sprache: Englisch
Kurzbeschreibung (Abstract):

Static analyses which compute conceptually independent information, e.g., class immutability or method purity are typically developed as standalone, closed analyses. Complementary information that could improve the analyses is either ignored by making a sound over-approximation or it is also computed by the analyses, but at a rudimentary level. For example, an immutability analysis requires field mutability information, alias/escape information, and information about the concurrent behavior of methods to correctly classify classes like java.lang.String or java.util.BigDecimal. As a result, without properly supporting the integration of independently developed, mutually benefiting analysis, many analyses will not correctly classify relevant entities.

We propose to use explicitly reified lattices that encode the information about a source code element's properties (e.g., a method's purity or a class' immutability) as the sole interface between mutually dependent analyses. This enables the composition of multiple analyses. Our case study shows that using such an approach enables highly scalable, lightweight implementations of modularized static analyses.

Buchtitel: Companion Proceedings for the ISSTA/ECOOP 2018 Workshops
Verlag: ACM
Freie Schlagworte: Engineering; E1
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Softwaretechnik
DFG-Sonderforschungsbereiche (inkl. Transregio)
DFG-Sonderforschungsbereiche (inkl. Transregio) > Sonderforschungsbereiche
Profilbereiche
Profilbereiche > Cybersicherheit (CYSEC)
LOEWE
LOEWE > LOEWE-Zentren
LOEWE > LOEWE-Zentren > CRISP - Center for Research in Security and Privacy
DFG-Sonderforschungsbereiche (inkl. Transregio) > Sonderforschungsbereiche > SFB 1119: CROSSING – Kryptographiebasierte Sicherheitslösungen als Grundlage für Vertrauen in heutigen und zukünftigen IT-Systemen
Veranstaltungstitel: SOAP 2018
Veranstaltungsort: Amsterdam, Netherlands
Hinterlegungsdatum: 20 Dez 2018 16:34
DOI: 10.1145/3236454.3236509
Offizielle URL: https://dl.acm.org/citation.cfm?id=3236509
Export:

Optionen (nur für Redakteure)

Eintrag anzeigen Eintrag anzeigen