Compatibility and API Evolution & Querying Massive DataSets in the Cloud

  • September 8, 2014 · 6:00 PM
  • This location is shown only to members


RSVPs close the night before the meetup.


• Ruwen Schwedewsky will be presenting a quick talk on using JavaAssist to manipulate Java class byte-code.

• Jens Dietrich from Massey University, NZ will present on the topic of Library compatibility and the difference between Source and Binary compatibility.  This is based on his research over the last year, and a developer survey conducted around the world.

• Kon Soulianidis will preview his upcoming JavaOne talkQuerying Massive Data Sets in the Cloud with BigQuery and Java.

Ruwen's talk:

Ruwen will be demonstrating the use of processing annotations with JavaAssist in order to add behaviour at compile-time.

Ruwen has been using Java since 2005.  He is visiting from Germany where he worked for one of Germany's biggest health insurance firms where wrote his thesis on static code analysis.

Jens' talk:

Real-world programs are neither monolithic nor static – they are constructed using platform and third party libraries, and both programs and libraries continuously evolve in response to change pressure. In case of the Java language, the rules defined in the Java Language and JVM Specs define when library evolution is safe.

These rules distinguish between three types of compatibility - binary, source and behavioural. 

In the first part of this talk I will present some puzzlers (in the style of Joshua Bloch’s famous book) showing the inconsistencies between the different types of compatibilities. In the second part, I will talk about some of the research we did in order to figure out what problems this causes in practise: (1) a developer survey showing that the rules of binary compatibility are not well understood by developers, (2) a repository study showing that this causes real problems in projects, and (3) a study on a set of 100+ popular Java programs that shows that incompatible API evolution is common. At the end, I will talk a little bit about tools and methods that can be used to mitigate some of these problems.


Jens has a MSc and a PhD in Mathematics from the University of Leipzig and has worked with object-oriented technologies (mainly Smalltalk and Java) since 1996. He helped to design and implement some of the first large-scale OO enterprise applications for clients like Mercedes Benz and several large banks in Germany, Switzerland, the UK, the US and Namibia. Jens is now Associate Professor in Software Engineering at Massey University New Zealand.

He is interested in design analysis and refactoring (see for instance, contracts for dynamic component models (such as OSGi) and testing.

Jens is currently visiting Australia to work with Oracle Labs in Brisbane on new algorithms to be used for the static analysis of the Java platform.

Kon's Talk:

In a recent Java-based project for a big Australian telecommunications company, Google BigQuery was selected for back-end data storage. This enabled its client to interactively query a terabyte of data in 25 seconds—as opposed to 30 minutes with a traditional RDBMS. What’s more, it was able to do it with a SQL-like query language and didn’t have to host any of the infrastructure themselves. This presentation discusses what BigQuery is, how it relates to other big data solutions, and the different mechanisms you can use for querying it from a Java client. It also shows how you can leverage the new Java 8 streaming APIs to efficiently stream massive quantities of data into BigQuery.


6:00 - 6:15   Networking Drinks & Pizza
6:15 - 6:25    News
6:25 - 6:35   Ruwens Talk
6:35 - 7:30   Jens Talk
7:30 - 7:40  Break
7:40 - 8:40  Kons Talk

* Subject to change


Thanks to Peoplebank for once again sponsoring the food & beverages, as well as providing their amazing venue.

We'll be giving away a copy of IntelliJ idea thanks to Jetbrains.

Getting there:

Peoplebank offices are on the south-west corner of Flinders Lane and Queen St.  Doors lock at 6pm but someone from Peoplebank will be downstairs to let people in.  If when you get there, no one is present, call [masked] and we'll send someone down. For those driving in, there is flat rate (~$10)  after hours parking on Market St, between flinders lane and flinders st.



Join or login to comment.

Our Sponsors

  • Docmosis

    Food and Beverage Sponsor for MelbJVM April 2015 meetup

  • Peoplebank

    Providing a room with a view for our meetup plus food & bev sponsorship

  • Queens Collective

    Melbourne's Home to World-Class Startups. 20 Queen Street

  • N Squared

    MelbJVM's 'AFL Duke' logo. Courtesy: Noel Richards

  • Jetbrains

    Prizes for group attendees

  • Shine Technologies

    Food & Beverage sponsor for Feb 2015

  • Azul Systems

    Food, Beverage & Speaker Sponsorship of MelbJVM 2014 finale.

  • Plumbr

    Food & beverage sponsor August 2014.

  • Oracle

    Food and Beverage sponsorship for MelbJVM. Provider of raffle goodies.

  • O'Reilly

    Provides quality technical books

  • OpenHFT

    Food, Beverage & Speaker Sponsorship of the March 13th 2014 meetup

  • Vaadin

    Food, Beverage and feature speaker for Feb 2014 meetup

  • Pivotal Inc

    Food and Beverage sponsor for the October 2013 meetup

People in this
Meetup are also in:

Create a Meetup Group and meet new people

Get started Learn more

Meetup has allowed me to meet people I wouldn't have met naturally - they're totally different than me.

Allison, started Women's Adventure Travel

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy