A Java Bytecode Metamodel for Composable Program Analyses

1Citations
Citations of this article
3Readers
Mendeley users who have this article in their library.
Get full text

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.

Cite

CITATION STYLE

APA

Yildiz, B. M., Bockisch, C., Rensink, A., & Aksit, M. (2018). A Java Bytecode Metamodel for Composable Program Analyses. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 10748 LNCS, pp. 30–40). Springer Verlag. https://doi.org/10.1007/978-3-319-74730-9_4

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free