skip to main content
10.1145/1411732acmconferencesBook PagePublication PagespppjConference Proceedingsconference-collections
PPPJ '08: Proceedings of the 6th international symposium on Principles and practice of programming in Java
ACM2008 Proceeding
  • Conference Chairs:
  • Luis Veiga,
  • Vasco Amaral
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
PPPJ08: Principles and Practice of Prgramming in Java 2008 Modena Italy September 9 - 11, 2008
ISBN:
978-1-60558-223-8
Published:
09 September 2008
Sponsors:
Recommend ACM DL
ALREADY A SUBSCRIBER?SIGN IN

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

It is our pleasure to welcome you to the sixth annual conference on Principles and Practice of Programming in Java (PPPJ 2008). The Java language continues to stimulate new exciting research ideas and provides a framework for exploring new ideas in software design, as readers will see from the papers selected for presentation at this conference.

The number of submissions was down this year, but the quality of those submissions remained extremely high. We received 46 abstracts, of which 40 materialized as full submissions by the deadline. Of these, we have selected 19 high quality papers for presentation in full. The topics represented in the papers are as diverse as the application areas for the Java language itself. They range over issues from teaching Java to optimizing the performance of the JVM, with many other topics in between.

Our Program Committee was comprised of many world experts in object-oriented software design, compiler optimization and Java technology. They freely contributed their valuable time to help make this conference a big success. Everyone one on the committee performed a magnificent job of reading, evaluating and discussing the submissions. Major disagreements between PC members on the merits of submissions were fortunately few and were easily resolved to everyone's satisfaction. The final list of selected papers met with everyone's approval.

Skip Table Of Content Section
SESSION: Teaching Java
research-article
The JavaFest: a collaborative learning technique for Java programming courses

Learning to create well-designed and robust Java programs requires, besides a good understanding of the language, a significant amount of practice. In this paper we present the JavaFest, a collaborative learning technique for teaching Java to beginning ...

research-article
An experimental environment for teaching Java security

In many fields of Computer Engineering education it is crucial that students gain both conceptual understanding and practical skills. To this end, an effective teaching approach relies on a blended-learning strategy that combines face-to-face lessons ...

research-article
Patterns and traceability in teaching software architecture

Courses on software architecture and software engineering need to explain the role of non-functional properties in software design, and they often use student projects to highlight their interrelations. Despite its critical importance in software ...

SESSION: Software engineering issues in Java program design
research-article
A framework for command processing in Java/Swing programs based on the MVC pattern

We present a framework for command processing in Java/Swing programs based on the model-view-controller (MVC) pattern. In addition to standard approaches our framework supports (1) centralized exception handling, (2) premature command termination, (3) ...

research-article
The PIM: an innovative robot coordination model based on Java thread migration

There is a growing demand to apply multi-robot systems to address many current problems ranging from search and rescue to distributed surveillance to coordination of small satellites in space. Solving these problems effectively requires that teams of ...

research-article
Self-configuring object-to-relational mapping queries

Object-to-relational maps are nowadays routinely utilized in providing a persistency mechanism for object-oriented programs. We present how an object-to-relational mapper, such as Hibernate, provides transparent persistency to object-oriented programs. ...

SESSION: JVM issues
research-article
Portable execution of legacy binaries on the Java virtual machine

The move toward pure managed-code environments is held back by the vast amount of legacy software available only as statically compiled binaries for some legacy instruction set architecture (ISA). Catering to this legacy software requires all sorts of ...

research-article
A lazy developer approach: building a JVM with third party software

The development of a complete Java Virtual Machine (JVM) implementation is a tedious process which involves knowledge in different areas: garbage collection, just in time compilation, interpretation, file parsing, data structures, etc. The result is ...

SESSION: Optimization and run-time performance I
research-article
Speculative improvements to verifiable bounds check elimination

As a safety measure, the Java programming language requires bounds checking of array accesses. This usually translates to dynamic checks each time an array element is accessed. Static analysis can help eliminate some of those checks by proving them to ...

research-article
Constraint based optimization of stationary fields

In many scenarios a field holds a value that is constant beyond a certain point in the execution of the program. However, Java only allows it to be marked as being final in relation to the control-flow of the program. We present a language extension ...

research-article
Optimized strings for the Java HotSpot™ virtual machine

In several Java VMs, strings consist of two separate objects: metadata like the string length are stored in the actual string object, while the string characters are stored in a character array. This separation causes an unnecessary overhead. Each ...

SESSION: Optimization and run-time performance II
research-article
Slim VM: optimistic partial program loading for connected embedded Java virtual machines

Embedded systems are inherently limited in terms of local storage capacity. This limitation conflicts with the demands of modern virtual machine platforms, which require large amounts of library code to be present on each client device. These ...

research-article
Lazy argument passing in Java RMI

Though often criticized for its inherent synchronization overhead and coupling, the remote method invocation (RMI) paradigm remains one of the most popular abstractions for building distributed applications. Many authors have suggested ways to overcome ...

research-article
Measuring the performance of interactive applications with listener latency profiling

When Java developers need to improve the performance of their applications, they usually use one of the many existing profilers for Java. These profilers generally capture a profile that represents the execution time spent in each method. The developer ...

SESSION: Class hierarchies & Java libraries
research-article
A trait based re-engineering technique for Java hierarchies

Traits are pure behavior components introduced in the Smalltalk community in order to integrate the traditional class inheritance with a composition mechanism: a class is composed by traits and inherits from superclasses. This offers the advantage of ...

research-article
Aspect weaving in standard Java class libraries

Aspect-oriented programming (AOP) has been successfully applied to application code thanks to techniques such as Java bytecode instrumentation. Unfortunately, with current technology, such as AspectJ, aspects cannot be woven into standard Java class ...

SESSION: Java language issues
research-article
Type safe dynamic object delegation in class-based languages

Class inheritance and method overriding, as provided by standard class-based languages, are not flexible enough to represent the dynamic behavior of objects; with this respect, object composition and delegation are often advocated as a more flexible ...

research-article
Intersection types in Java

In the past we analyzed typeless Java programs. One of our results was, that there may be different correct typings for one method. This means that the principal types of such methods are intersection types. We presented a type-inference algorithm. For ...

research-article
Embedded typesafe domain specific languages for Java

Projects like jMock and Hibernate Criteria Query introduced embedded DSLs into Java. We describe two case studies in which we develop embedded typesafe DSLs for building SQL queries and engineering Java bytecode. We proceed to extract several patterns ...

Contributors
  • Higher Technical Institute
  • NOVA School of Science and Technology
  1. Proceedings of the 6th international symposium on Principles and practice of programming in Java

    Recommendations

    Acceptance Rates

    Overall Acceptance Rate 29 of 58 submissions, 50%
    YearSubmittedAcceptedRate
    PPPJ '16311445%
    PPPJ '15271556%
    Overall582950%