PPPJ'2013
PPPJ'2013
PPPJ bring together researchers, teachers, practitioners and programmers, who study or work with the Java platform.
PPPJ'13 focused on the interaction between virtual machine technology and different programming languages that target the Java platform. It was the 10th edition in the PPPJ series. It was organized by the Baden-Wuerttemberg Cooperative State University (DHBW) and took place at the DHBW Stuttgart.
Previous PPPJs took place in Kopenhagen, Wien, Calgary, Modena and Lisbon. For more information click here.
Topics
The Java platform is multi-faceted, covering a rich diversity of systems, languages, tools, frameworks, and techniques. PPPJ'13 - the 10th conference in the PPPJ series - provided a forum for researchers, practitioners, and educators to present and discuss novel results on all aspects of programming on the Java platform including virtual machines, languages, tools, methods, frameworks, libraries, case studies, and experience reports.
The main topics were:
1. Virtual machines for Java and Java-like language support:
- JVM and similar VMs
- VM design and optimization
- VMs for mobile and embedded devices
- Real-time VMs
- Isolation and resource control
2. Languages on the Java platform:
- JVM languages (Clojure, Groovy, Java, JRuby, Kotlin, Scala, ...)
- Domain-specific languages
- Language design and calculi
- Compilers
- Language interoperability
- Parallelism and concurrency
- Modular and aspect-oriented programming
- Model-driven development
- Frameworks and applications
- Teaching
3. Techniques and tools for the Java platform:
- Static and dynamic program analysis
- Testing
- Verification
- Security and information flow
- Workload characterization
Programme
Wednesday Sep 11
11:00 - 12:00 | Conference Registration |
12:00 - 13:45 | Lunch Break |
13:45 - 14:00 | Opening |
14:00 - 15:00 | Keynote 1 Chair: Martin Plümicke Lambdas in Java-8 Paul Sandoz |
15:00 - 15:30 | Coffee Break |
15:30 - 17:00 | Session 1: Languages 1 Chair: Görel Hedin An Adapter-Aware, Non-Intrusive Dependency Injection Framework for Java Arnout Roemers; Kardelen Hatun; Christoph Bockisch Pure Trait-based Programming on the Java Platform Lorenzo Bettini; Ferruccio Damiani Feel Different on the Java Platform: The Star Programming Language Frank McCabe; Michael Sperber |
17:00 - 17:30 | Coffee Break |
17:30 - 19:00 | Session 2: Transactional Memory; Dynamic Metrics Chair: Matthias Hauswirth Hyflow2: A High Performance Distributed Transactional Memory Framework in Scala Alexandru Turcu; Binoy Ravindran; Roberto Palmieri Deriving Code Coverage Information from Profiling Data Recorded for a Trace-based Just-in-time Compiler Christian Häubl; Christian Wimmer; Hanspeter Mössenböck JVM-Hosted Languages: They Talk the Talk, but Do they Walk the Walk? Wing Hang Li; David White; Jeremy Singer |
starting 20:00 | Evening Reception |
Thursday Sep 12
09:00 - 10:30 | Session 3: Optimization Chair: Roland Yap Efficient Interpreter Optimizations for the JVM Gülfem Savrun-Yeniceri; Wei Zhang; Huahan Zhang; Chen Li; Stefan Brunthaler; Per Larsen; Michael Franz An Efficient Native Function Interface for Java Matthias Grimmer; Manuel Rigger; Lukas Stadler; Roland Schatz; Hanspeter Mössenböck Accelerating Habanero-Java Programs with OpenCL Generation Akihiro Hayashi; Max Grossman; Jisheng Zhao; Jun Shirako; Vivek Sarkar |
10:30 - 11:00 | Coffee Break |
11:00 - 12:00 | Keynote 2 Chair: Nigel Horspool Kotlin: Challenges in JVM Language Design Andrey Breslav |
12:00 - 13:30 | Lunch Break |
13:30 - 15:00 | Session 4: Short Research Papers Chair: Lorenzo Bettini Golo, a Dynamic, Light and Efficient Language for Post-invokedynamic JVM Julien Ponge; Frédéric Le Mouël; Nicolas Stouls Extending the JastAdd Extensible Java Compiler to Java 7 Jesper Öqvist; Görel Hedin Refinement-based Testing of Delta-oriented Product Lines Ferruccio Damiani; Christoph Gladisch; Shmuel Tyszberowicz An Artificial Intelligence for the Board Game 'Quarto!' in Java Jochen Mohrmann; Michael Neumann; David Suendermann |
starting 16:00 | Social Event: Excursion to Daimler Museum and Conference Dinner |
Friday Sep 13
09:00 - 10:30 | Session 5: Languages 2 Chair: Ferruccio Damiani OCaml-Java: an ML Implementation for the Java Ecosystem Xavier Clerc TAE-JS: Automated Enhancement of JavaScript Programs by Leveraging the Java Annotations Infrastructure Myoungkyu Song; Eli Tilevich Cross-Compiling Java to JavaScript via Tool Chaining Arno Puder; Victor Woeltjen; Alon Zakai
|
10:30 - 11:00 | Coffee Break |
11:00 - 12:00 | Keynote 3: Chair: Walter Binder Truffle: A Self-Optimizing, Multi-Language Runtime System Thomas Würthinger |
12:00 - 13:30 | Lunch Break |
13:30 - 15:00 | Session 6: Tool Papers Chair: Christoph Bockisch Jikes RDB: A Debugger for the Jikes RVM Dmitri Makarov; Matthias Hauswirth JetBrains MPS as a Tool for Extending Java Vaclav Pech; Alex Shatalin; Markus Voelter JNICodejail - Native Code Isolation for Java Programs Behnaz Hassanshahi; Roland H.C. Yap Case Study: Implementing a Java JIT Compiler in Haskell Bernhard Urban; Harald Steinlechner |
15:00 - 15:15 | Closing PPPJ'13 and Outlook to PPPJ'14 |
Keynote Speakers
Paul Sandoz: Lambdas in Java-8 and an outlook to Java-9.
Abstract: The developer preview of Java 8 will be released towards the end of this year. The talk has a focus on the lambda work, especially. Furthermore there will be a look towards to the future of Java 9 and modularity.
About Paul Sandoz: A reformed RESTerfarian who previously co-led JAX-RS and led the implementation Jersey, who moved up into the clouds with the industrious bees of CloudBees, and then boomeranged back to Oracle and deep down the Java stack to work on Lambda, Java modularity and Project Jigsaw.
Thomas Wuerthinger: Truffle: A Self-Optimizing, Multi-Language Runtime System
Abstract: A new technique involving tree-rewriting AST interpreters and partial evaluation could change the way we think about implementing languages on top of a Java virtual machine. It is possible with only modest effort to add new languages by writing an interpreter for them in Java. This talk will present the high-level vision behind this idea as well as the current status of our concrete prototype that is developed as part of the Graal OpenJDK project.
About Thomas Wuerthinger: Senior Research Manager at Oracle Labs. His research interests include Virtual Machines, Feedback-directed Runtime Optimizations, and Static Program Analysis. His current focus is the Graal project that aims at developing a new dynamic compiler for Java. Additionally, he is the architect of the Truffle self-optimizing runtime system.
Andrey Breslav: Kotlin: Challenges in JVM language design
Abstract: Kotlin is a statically typed language compiled to JVM byte codes and JavaScript. It is intended for industrial use and focused on safety, performance and interoperability with existing ecosystems (including Java). This talk gives an overview of the language and presents technical and research challenges our design requirements impose. Link to Keynote.
About Andrey Breslav: Andrey is the lead language designer working on Project Kotlin at JetBrains (http://kotlin.jetbrains.org/).He also works on making the Java language better, serving as a Java Community Process expert in a group for JSR-335 ("Project Lambda").
Accepted Papers
FULL RESEARCH PAPERS (up to 12 pages):
- Deriving Code Coverage Information from Profiling Data Recorded for a Trace-based Just-in-time Compiler
Christian Häubl; Christian Wimmer; Hanspeter Mössenböck dx.doi.org/10.1145/2500828.2500829 - TAE-JS: Automated Enhancement of JavaScript Programs by Leveraging the Java Annotations Infrastructure
Myoungkyu Song; Eli Tilevich
dx.doi.org/10.1145/2500828.2500830 - Cross-Compiling Java to JavaScript via Tool Chaining
Arno Puder; Victor Woeltjen; Alon Zakai
dx.doi.org/10.1145/2500828.2500831 - An Efficient Native Function Interface for Java
Matthias Grimmer; Manuel Rigger; Lukas Stadler; Roland Schatz; Hanspeter Mössenböck
dx.doi.org/10.1145/2500828.2500832 - OCaml-Java: an ML Implementation for the Java Ecosystem
Xavier Clerc
dx.doi.org/10.1145/2500828.2500833 - An Adapter-Aware, Non-Intrusive Dependency Injection Framework for Java
Arnout Roemers; Kardelen Hatun; Christoph Bockisch
dx.doi.org/10.1145/2500828.2500834 - Pure Trait-based Programming on the Java Platform
Lorenzo Bettini; Ferruccio Damian
dx.doi.org/10.1145/2500828.2500835i - Hyflow2: A High Performance Distributed Transactional Memory Framework in Scala
Alexandru Turcu; Binoy Ravindran; Roberto Palmieri
dx.doi.org/10.1145/2500828.2500836 - Feel Different on the Java Platform: The Star Programming Language
Frank McCabe; Michael Sperber
dx.doi.org/10.1145/2500828.2500837 - JVM-Hosted Languages: They Talk the Talk, but Do they Walk the Walk?
Wing Hang Li; Jeremy Singer; David White
dx.doi.org/10.1145/2500828.2500838 - Efficient Interpreter Optimizations for the JVM
Gülfem Savrun-Yeniceri; Wei Zhang; Huahan Zhang; Chen Li; Stefan Brunthaler; Per Larsen; Michael Franz
dx.doi.org/10.1145/2500828.2500839 - Accelerating Java Programs with OpenCL Generation
Akihiro Hayashi; Max Grossman; Jisheng Zhao; Jun Shirako; Vivek Sarkar
dx.doi.org/10.1145/2500828.2500840
SHORT RESEARCH PAPERS (up to 6 pages):
- Refinement-based Testing of Delta-oriented Product Lines
Ferruccio Damiani; Christoph Gladisch; Shmuel Tyszberowicz
dx.doi.org/10.1145/2500828.2500841 - An Artificial Intelligence for the Board Game 'Quarto!' in Java
Jochen Mohrmann; Michael Neumann; David Suendermann
dx.doi.org/10.1145/2500828.2500842 - Extending the JastAdd Extensible Java Compiler to Java 7
Jesper Öqvist; Görel Hedin
dx.doi.org/10.1145/2500828.2500843 - Golo, a Dynamic, Light and Efficient Language for Post-invokedynamic JVM
Julien Ponge; Frédéric Le Mouël; Nicolas Stouls
dx.doi.org/10.1145/2500828.2500844 - Exploiting Slicing and Patterns for RTSJ Immortal Memory Optimization
Hamza Hamza; Steve Counsell
dx.doi.org/10.1145/2500828.2500845
TOOL PAPERS (up to 4 pages):
- JetBrains MPS as a Tool for Extending Java
Vaclav Pech; Alex Shatalin; Markus Voelter
dx.doi.org/10.1145/2500828.2500846 - Jikes RDB: A Debugger for the Jikes RVM
Dmitri Makarov; Matthias Hauswirth
dx.doi.org/10.1145/2500828.2500847 - JNICodejail - Native Code Isolation for Java Programs
Behnaz Hassanshahi; Roland H.C Yap
dx.doi.org/10.1145/2500828.2500848 - Case Study: Implementing a Java JIT Compiler in Haskell
Bernhard Urban; Harald Steinlechner
dx.doi.org/10.1145/2500828.2500849
Chairs and Commitees
General Chair:
- Martin Plümicke, Duale Hochschule Baden-Württemberg, Germany
PC Chair:
- Walter Binder, University of Lugano, Switzerland
Publicity Chair:
- Danilo Ansaloni, University of Lugano, Switzerland
Web Chair:
- Oliver Rzepka, Duale Hochschule Baden-Württemberg, Germany
Conference Secretary:
- Nathan Weißer, Duale Hochschule Baden-Württemberg, Germany
Program Committee:
- Judith Bishop, Microsoft Research, USA
- Christoph Bockisch, University of Twente, The Netherlands
- Eric Bodden, EC SPRIDE, Germany
- Shigeru Chiba, University of Tokyo, Japan
- Ferruccio Damiani, University of Torino, Italy
- Erik Ernst, Aarhus University, Denmark
- Michael Franz, University of California Irvine, USA
- Nicolas Geoffray, Google Inc., Denmark
- Samuel Z. Guyer, Tufts University, USA
- Michael Haupt, Oracle Labs, Germany
- Nigel Horspool, University of Victoria, Canada
- Einar Broch Johnsen, University of Oslo, Norway
- Stephen Kell, University of Lugano, Switzerland
- Andreas Krall, Vienna University of Technology, Austria
- Doug Lea, State University of New York at Oswego, USA
- Hanspeter Mössenböck, Johannes Kepler University of Linz, Austria
- Nathaniel Nystrom, University of Lugano, Switzerland
- Rei Odaira, IBM Research Tokyo, Japan
- Jens Palsberg, University of California Los Angeles, USA
- Jennifer Sartor, Ghent University, Belgium
- Ina Schaefer, Technische Universität Braunschweig, Germany
- Martin Schoeberl, Technical University of Denmark, Denmark
- Bernhard Scholz, University of Sydney, Australia
- Andreas Sewe, Technische Universität Darmstadt, Germany
- Niranjan Suri, Florida Institute for Human & Machine Cognition, USA
- Eli Tilevich, Virginia Tech, USA
- Petr Tuma, Charles University, Czech Republic
- Alex Villazón, Universidad Privada Boliviana, Bolivia
- Christian Wimmer, Oracle Labs, USA
- Jianjun Zhao, Shanghai Jiao Tong University, China
Steering committee:
- Markus Aleksy, ABB Corporate Research, Germany
- Vasco Amaral, Universidade Nova de Lisboa, Portugal
- Conrad Cunningham, University of Mississippi, USA
- Ralf Gitzel, ABB Corporate Research, Germany
- Christian Probst, Technical University of Denmark, Denmark