A Java Bytecode Metamodel for Composable Program Analyses

Bugra Mehmet Yildiz, Christoph Bockisch, Arend Rensink, Mehmet Aksit

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    Abstract

    Program analyses are an important tool to check if a system fulfills its specification. A typical implementation strategy for program analyses is to use an imperative, general-purpose language like Java; and access the program to be analyzed through libraries for manipulating intermediate code, such as ASM for Java bytecode. We show that this hampers composability, interoperability and reuse of analysis implementations.

    We propose a complete Ecore-metamodel for Java bytecode as a common basis for program analysis implementations, as well as an Eclipse plug-in to create bytecode metamodel instances from Java bytecode and vice versa. Code analyses can be defined as model transformations in a declarative, domain-specific language. As a consequence, the implementations of program analyses become more composable and more modular in general. We demonstrate the effectiveness of this approach with a case study.
    Original languageEnglish
    Title of host publicationSoftware Technologies: Applications and Foundations
    Subtitle of host publicationSTAF 2017 Collocated Workshops, Marburg, Germany, July 17-21, 2017, Revised Selected Papers
    EditorsMartina Seidl, Steffen Zschaler
    PublisherSpringer
    Pages30-40
    ISBN (Electronic)978-3-319-74730-9
    ISBN (Print)978-3-319-74729-3
    DOIs
    Publication statusPublished - Jul 2017
    EventSoftware Technologies: Applications and Foundations - Technologie- und Tagungszentrum Marburg (TTZ), Marburg, Germany
    Duration: 17 Jul 201721 Jul 2017
    http://www.informatik.uni-marburg.de/staf2017/

    Publication series

    NameLecture Nodes in Computer Science
    PublisherSpringer
    Volume10748
    ISSN (Print)0302-9743

    Conference

    ConferenceSoftware Technologies: Applications and Foundations
    Abbreviated titleSTAF 2017
    CountryGermany
    CityMarburg
    Period17/07/1721/07/17
    Internet address

    Keywords

    • Java bytecode
    • Metamodel
    • Model Transformation
    • Model-Driven Software Engineering
    • Program analyses
    • Composition

    Fingerprint Dive into the research topics of 'A Java Bytecode Metamodel for Composable Program Analyses'. Together they form a unique fingerprint.

  • Cite this

    Yildiz, B. M., Bockisch, C., Rensink, A., & Aksit, M. (2017). A Java Bytecode Metamodel for Composable Program Analyses. In M. Seidl, & S. Zschaler (Eds.), Software Technologies: Applications and Foundations: STAF 2017 Collocated Workshops, Marburg, Germany, July 17-21, 2017, Revised Selected Papers (pp. 30-40). (Lecture Nodes in Computer Science; Vol. 10748). Springer. https://doi.org/10.1007/978-3-319-74730-9_4