Publications
Note: ExtendJ was formerly known as JastAddJ, and most past publications use
the old name. In some cases ExtendJ is also referred to as the JastAdd frontend
for Java.
This OOPSLA 2007 paper describes the basic architecture of ExtendJ:
- Torbjörn Ekman, Görel Hedin: The JastAdd Extensible Java Compiler. OOPSLA 2007: 1-18, Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, October 2007, Montreal, Canada.
The development of the Java 7 extension is described in a Master's Thesis and
a later research paper:
- Jesper Öqvist: Implementation of Java 7 Features in an Extensible Compiler. Master's Thesis LU-CS-EX: 2012-13, Dept of Computer Science, Lund University, 2012.
- Jesper Öqvist, Görel Hedin: Extending the JastAdd extensible Java compiler to Java 7. PPPJ 2013:147-152, Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, September 2013, Stuttgart, Germany.
The development of the Java 8 module is documented in this Master's Thesis:
Extension Articles
The following article describes an implementation of Multiplicities for Java,
as an ExtendJ Extension:
Research Using ExtendJ
The following research papers mention using ExtendJ (JastAddJ) to build analyses or
language features on top of Java:
- Jan C. Dageförde, Herbert Kuchen:A Constraint-Logic Object-Oriented Language (SAC, 2018)
- Chong Shum, Wing-Hong Lau, Tian Mao, Henry Shu-Hung Chung, Kim-Fung Tsang,
Norman Chung-Fai Tse, Loi Lei Lai: Co-Simulation of Distributed Smart Grid Software
Using Direct-Execution Simulation (IEEE Access, 2018)
- Chong Shum, Wing-Hong Lau, Tian Mao, Henry Shu-Hung Chung, Norman Chung-Fai Tse, Kim-Fung Tsang,
Loi Lei Lai: DecompositionJ: Parallel and Deterministic Simulation of Concurrent Java Executions in Cyber-physical Systems (IEEE Access, 2018)
- Tetsuo Kamina, Tomoyuki Aotani: Harmonizing Signals and Events with a Lightweight Extension to
Java (The Art, Science, and Engineering of Programming, 2018)
- Mohammad Reza Azadmanesh, Matthias Hauswirth: Concept-Driven Generation of Intuitive Explanations of Program Execution for a Visual Tutor. (Software Visualization, 2017)
- Sukyoung Ryu: ThisType for Object-Oriented Languages: From Theory to Practice. (ACM Transactions on Programming Languages and Systems, 2016)
- YungYu Zhuang, Shigeru Chiba: Expanding Event Systems to Support Signals by Enabling the Automation of Handler Bindings. (Journal of Information Processing, 2016)
- Friedrich Steimann, Jörg Hagemann, Bastian Ulke: Computing repair alternatives for malformed programs using constraint attribute grammars. (OOPSLA, 2016)
- Vivek Kumar, Julian Dolby, Stephen M. Blackburn: Integrating Asynchronous Task Parallelism and Data-centric Atomicity. (PPPJ, 2016)
- Yusheng Weijiang, Shruthi Balakrishna, Jianqiao Liu, Milind Kulkarni: Tree dependence analysis. (PLDI, 2015)
- Eric Bodden, Éric Tanter, Milton Inostroza: Join point interfaces for safe and flexible decoupling of aspects. (ACM Transactions on Software Engineering and Methodology, 2014)
|