Lattice based modularization of static analyses
Autor: | Michael Reif, Dominik Helm, Mira Mezini, Guido Salvaneschi, Florian Kübler, Michael Eichberg |
---|---|
Rok vydání: | 2018 |
Předmět: |
Immutability
Theoretical computer science Source code Alias Computer science media_common.quotation_subject 020207 software engineering 02 engineering and technology ENCODE Abstract interpretation 020204 information systems Modular programming Scalability 0202 electrical engineering electronic engineering information engineering Implementation media_common |
Zdroj: | ISSTA/ECOOP Workshops |
Popis: | 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. |
Databáze: | OpenAIRE |
Externí odkaz: |