GRACEメールマガジン2014/3/19 第38号

◆□◆GRACEメールマガジン2014/3/19 第38号◆□◆



取り組んでいる大阪大学のCoen De Roover氏を招き,

◆◆第72回GRACEセミナー ◆◆

【会場】国立情報学研究所(NII) 20Fミーティングルーム
〒101-8430 東京都千代田区一ツ橋2-1-2





A Logic Foundation for Template-based Program Transformation in Eclipse

We introduce Ekeko/X as a tool for transforming Eclipse projects. Its
transformation specifications consist of a left-hand side and a right-hand
side component. The left-hand side component identifies the subjects of the
transformation, while the right-hand side component defines how each
identified subject should be rewritten.
Ekeko/X specifications are decidedly template-based. On the left-hand side,
code templates are used to specify the structural (i.e., instructions and
their organization) as well as the behavioral (i.e., the order in which
instructions are executed at run-time and the values instructions operate
on) characteristics of the intended transformation subjects. This requires a
rich, inter-procedural matching semantics. On the right-hand side, code
templates exemplify the changes to each subject. Ekeko/X owes its peculiar
name to our meta-programming library for Clojure on which it is founded.
This library, called Ekeko [1], enables implementing Eclipse plugins as
functional programs in which logic queries are embedded seamlessly. We will
give live demonstrations of both Ekeko and Ekeko/X.


Coen De Roover obtained his PhD in Belgium at the Software Languages Lab [3]
of the Vrije Universiteit Brussel. He is currently a researcher on the SARF
[4] project of the Software Engineering Laboratory [5] at Osaka University.
The central theme of his research is the design and application of source
code analysis and transformation techniques. These form the foundation of
tool support for quality assurance problems as pressing as bug detection,
validation of an implementation with respect to its design, and program
repair. In program transformation, he is investigating techniques for
repeating changes to similar, but non-identical source code. This is often
needed by developers after having repaired one of several occurrences of a
bug (i.e., semantic patching) or after having updated one of several clients
of an API to a functionally equivalent one (i.e., API migration). In program
analysis, he is investigating techniques for analyzing source code that is
neither known at compile-time nor invariant at run-time. This is
increasingly common in distributed (e.g., third party web services),
polyglot (e.g., domain- specific languages), and dynamic (e.g., reflection
for run-time variability) software.



●GRACEメールマガジンの 第38号をお届けしました。
ご意見、ご感想は、GRACEセンター事務局 (


カテゴリー: メルマガ パーマリンク