Mon 3 Apr 2017 09:15 - 09:40 at D2.13 - Paper Session

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 that offer an API for reading, writing and manipulating intermediate code, such as BCEL or ASM for Java bytecode. We claim that this hampers reuse and interoperability. In this paper we propose a complete ECore-metamodel for Java bytecode, which can be used as a common basis for arbitrary program analyses. We provide tools to generate instances of our bytecode metamodel from Java code in class file format to and vice versa. Code analyses as well as instrumentations can then be defined as model transformations in a declarative, domain-specific language. As a consequence, the implementation of program analysis becomes more concise, more readable and more modular. We demonstrate the effectiveness of this approach by two case studies: profiling of timing performance and model checking of reachability requirements.

Conference Day
Mon 3 Apr

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

09:00 - 10:30
Paper Session MOMO at D2.13
09:00
15m
Day opening
Welcome & Introduction
MOMO
O: Gunter MussbacherMcGill University, Canada, O: Sébastien MosserUniversité Côte d'Azur, France
09:15
25m
Talk
An MDE Approach for Modular Program Analyses
MOMO
A: Bugra Mehmet Yildiz, A: Christoph BockischPhilipps-Universität Marburg, A: Arend Rensink, A: Mehmet AksitUniversity of Twente
09:40
25m
Talk
A Modular Meta-model for Security Solutions
MOMO
A: Laurens Sion, A: Koen Yskout, A: Riccardo Scandariato, A: Wouter JoosenKatholieke Universiteit Leuven
10:05
25m
Talk
Weaving Rules into Models@run.time for Embedded Smart Systems
MOMO