skip to main content
10.1145/2998392.3001579acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Building a modular static analysis framework in Scala (tool paper)

Published: 30 October 2016 Publication History

Abstract

We present Scala-AM, a framework for implementing static analyses as systematically abstracted abstract machines. Analyses implemented on top of Scala-AM separate operational semantics from machine abstraction concerns. This modularity facilitates varying the analyzed language and the applied abstraction method in an analysis. We describe the design of our framework and demonstrate its use in a static analysis for the DOT calculus. We conclude with a tour of the features of Scala through which Scala-AM achieves its modularity.

References

[1]
N. Amin, S. Grütter, M. Odersky, T. Rompf, and S. Stucki. The essence of dependent object types. In WadlerFest 2016, volume 9600 of Lecture Notes in Computer Science.
[2]
B. C. d. S. Oliveira, A. Moors, and M. Odersky. Type classes as objects and implicits. In OOPSLA’10.
[3]
T. Gilray, S. Lyde, M. D. Adams, M. Might, and D. Van Horn. Pushdown control-flow analysis for free. ACM SIGPLAN Notices, 51(1), 2016.
[4]
J. Midtgaard and A. Møller. Quickchecking static analysis properties. In ICST’15.

Cited By

View all
  • (2017)STRAF: A Scala Framework for Experiments in Trace-Based JIT CompilationGrand Timely Topics in Software Engineering10.1007/978-3-319-60074-1_10(223-234)Online publication date: 29-Jun-2017

Index Terms

  1. Building a modular static analysis framework in Scala (tool paper)

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SCALA 2016: Proceedings of the 2016 7th ACM SIGPLAN Symposium on Scala
    October 2016
    113 pages
    ISBN:9781450346481
    DOI:10.1145/2998392
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 30 October 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Abstract Interpretation
    2. Abstract Machines
    3. Static Analysis

    Qualifiers

    • Research-article

    Conference

    SPLASH '16
    Sponsor:

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 19 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2017)STRAF: A Scala Framework for Experiments in Trace-Based JIT CompilationGrand Timely Topics in Software Engineering10.1007/978-3-319-60074-1_10(223-234)Online publication date: 29-Jun-2017

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media