Lattice Based Modularization of Static Analyses
Today, static analyses for, e.g., class immutability or method purity are developed as standalone 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 such as 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.
In this paper, 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 enabling composition of multiple analyses. Our case study shows that using such an approach enables highly scalable, lightweight implementations of modularized static analyses.
Conference DayFri 20 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:00 - 17:30
|The Secret Sauce in Efficient and Precise Static Analysis: The Beauty of Distributive, Summary-Based Static Analyses (and how to master them)|
Eric BoddenHeinz Nixdorf Institut, Paderborn University and Fraunhofer IEMLink to publication DOI Pre-print Media Attached
|Redesigning Soot's Data-flow Analysis Framework for Abstract Interpretation|
Elena ShermanBoise State UniversityLink to publication DOI File Attached
|Lattice Based Modularization of Static Analyses|
Michael EichbergTU Darmstadt, Germany, Florian KüblerTU Darmstadt, Germany, Dominik HelmTU Darmstadt, Germany, Michael ReifTU Darmstadt, Germany, Guido SalvaneschiTU Darmstadt, Mira MeziniTU DarmstadtLink to publication DOI Media Attached