skip to main content
10.1145/2807426acmotherconferencesBook PagePublication PagespppjConference Proceedingsconference-collections
PPPJ '15: Proceedings of the Principles and Practices of Programming on The Java Platform
ACM2015 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
PPPJ '15: Principles and Practices of Programming on the Java Platform Melbourne FL USA September 8 - 11, 2015
ISBN:
978-1-4503-3712-0
Published:
08 September 2015
In-Cooperation:
Recommend ACM DL
ALREADY A SUBSCRIBER?SIGN IN

Reflects downloads up to 16 Feb 2025Bibliometrics
Skip Abstract Section
Abstract

On the behalf of the organizing and program committees, it is our pleasure to welcome you to the 2015 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools (PPPJ'15) in Melbourne, Florida. PPPJ'15 is the twelfth conference in the PPPJ series. It continues a tradition as a forum for researchers, practitioners, and educators to present and discuss novel results on all aspects of programming in the Java platform, including virtual machines, languages, tools, methods, frameworks, libraries, case studies, and experience reports.

Skip Table Of Content Section
SESSION: Keynote Abstracts
invited-talk
JML: Expressive Contracts, Specification Inheritance, and Behavioral Subtyping

JML, the Java Modeling Language, is a formal specification language tailored to the specification of sequential Java classes and interfaces. It features contracts in the style of design by contract (as in Eiffel), as well as more sophisticated features ...

invited-talk
Java and Distributed Systems: Observations, Experiences, and ... a Wish List

When Java was introduced to the world at large 20 years ago, it brought many interesting features and capabilities into the mainstream computing environment. A Virtual Machine based approach with a just-in-time compiler that supported sandboxing, ...

SESSION: Research Papers
research-article
HJ-OpenCL: Reducing the Gap Between the JVM and Accelerators

Recently there has been increasing interest in supporting execution of Java Virtual Machine (JVM) applications on accelerator architectures, such as GPUs. Unfortunately, there is a large gap between the features of the JVM and those commonly supported ...

research-article
Runtime Code Generation and Data Management for Heterogeneous Computing in Java

GPUs (Graphics Processing Unit) and other accelerators are nowadays commonly found in desktop machines, mobile devices and even data centres. While these highly parallel processors offer high raw performance, they also dramatically increase program ...

research-article
Machine-Learning-based Performance Heuristics for Runtime CPU/GPU Selection

High-level languages such as Java increase both productivity and portability with productive language features such as managed runtime, type safety, and precise exception semantics. Additionally, Java 8 provides parallel stream APIs with lambda ...

research-article
On-Line Synchronous Total Purely Functional Data-Flow Programming on the Java Virtual Machine with Sig

Sig is the prototype of a purely declarative programming language and system for the processing of discrete, clocked synchronous, potentially real-time data streams. It aspires to combine good static safety, scalability and platform independence, with ...

research-article
Ohua: Implicit Dataflow Programming for Concurrent Systems

Concurrent programming has always been a challenging task best left to expert developers. Yet, with the advent of multi-core systems, programs have to explicitly deal with multithreading to fully exploit the parallel processing capabilities of the ...

research-article
Toward Efficient Strong Memory Model Support for the Java Platform via Hybrid Synchronization

The Java memory model provides strong behavior guarantees for data-race-free executions. However, it provides very weak guarantees for racy executions, leading to unexpected, unintuitive behaviors. This paper focuses on how to provide a memory model, ...

research-article
Efficient Rebuilding of Large Java Heaps from Event Traces

Understanding and tracking down memory-related performance problems, such as long garbage collection times and memory leaks, is a tedious task in large and complex applications. Memory profilers can support developers in this task by recording detailed ...

research-article
Efficient Deterministic Replay of Multithreaded Executions in a Managed Language Virtual Machine

Shared-memory parallel programs are inherently nondeterministic, making it difficult to diagnose rare bugs and to achieve deterministic execution. Existing multithreaded record & replay approaches have serious limitations such as relying on custom ...

research-article
An Efficient and Generic Event-based Profiler Framework for Dynamic Languages

Profilers help programmers analyze their programs and identify performance bottlenecks. We implement a profiler framework that helps to compare and analyze programs implementing the same algorithms written in different languages. Profiler implementers ...

research-article
Improving the Interoperation between Generics Translations

Generics on the Java platform are compiled using the erasure transformation, which only supports by-reference values. This causes slowdowns when generics operate on primitive types, such as integers, as they have to be transformed into reference-based ...

research-article
Identifying Test Refactoring Candidates with Assertion Fingerprints

Test cases constitute around 30% of the codebase of a number of large software systems. Poor design of test suites hinders test comprehension and maintenance. Developers often copy-paste existing tests and reproduce both boilerplate and essential ...

research-article
Incremental Co-Evolution of Java Programs based on Bidirectional Graph Transformation

Modern Java IDE aim at assisting object-oriented software development workflows with continuously interleaved co-evolution steps of program editing and program refactoring. Program editing usually comprises manually performed program changes applied by ...

research-article
BLAST: Bytecode-Level Analysis on Sliced Traces

BLAST is a framework for deep analysis of Java program executions. It captures the entire information flow of an execution. A BLAST trace represents the space-time history of a program run: It combines space (heap, static, and stack memory locations) ...

research-article
Mining Method Handle Graphs for Efficient Dynamic JVM Languages

The Java Virtual Machine (JVM) has been used as an execution platform by many dynamically-typed programming languages such as Ruby, Python, and Groovy. The main challenge to compile such dynamic JVM languages is choosing the most appropriate ...

research-article
SmartStealing: Analysis and Optimization of Work Stealing in Parallel Garbage Collection for Java VM

Parallel garbage collection has been used to speedup the collection process on multicore architectures. Similar to other parallel techniques, balancing the workload among threads is critical to ensuring good overall collection performance. To this end, ...

Contributors
  • Florida Institute of Technology
  • Vienna University of Technology

Recommendations

Acceptance Rates

PPPJ '15 Paper Acceptance Rate 15 of 27 submissions, 56%;
Overall Acceptance Rate 29 of 58 submissions, 50%
YearSubmittedAcceptedRate
PPPJ '16311445%
PPPJ '15271556%
Overall582950%