Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

As in previous years, Jikes RVM will to Google Summer of Code for student projects.

The GSoC 2013 timeline has been published. The first date of importance is: Organization application deadline on March 29 2013

Our current task is to collate a set of interesting project proposals and encourage students to apply for GSoC. We can re-use ideas from previous proposals, or come up with totally new ideas.

Hints for students

The application for mentoring organizations hasn't been opened yet. However, it's not too early to read the Google Summer of Code documentation. Students should read at least the GSoC FAQ and Google's advice for students. There's also a lot of helpful information about GSoC that's provided by mentoring organizations and previous GSoC students (use your favorite search engine to find it).

If the Jikes RVM project sounds like it could be a good fit for you, you can already start to get familiar with Jikes RVM. Checkout the source code and read the user guide. Build the Jikes RVM, run some tests and take a look at the codebase. You should have your development environment already set up before applying. Don't hesitate to ask on the mailing lists if you need help.

Once we've been accepted as a mentoring organization, students can take a look at our guidelines on making an application. We expect that students get familiar with the Jikes RVM and the Jikes RVM community before applying.

What's in it for me?

All mentors get a smart Google t-shirt. The project gets some new contributors, and the students get substantial amounts of cash and experience in open source development.

Adding new project suggestions

Please add your ideas to the wiki below, ideally using the template shown below. You can also contribute an idea if you don't have a wiki account: just describe it on on the researchers mailing list.


Project Titlefoo
RVM area
{compiler, classlib, MMTk, ...}
outlineparagraph description of project idea

links to related projects, academic papers, etc

needed skills

skills that the student should have and/or needs to acquire during the project


a difficulty estimate for the project, e.g. easy, medium, difficult

interested mentor

your name and a contact link or "TBD" if you can't mentor

Project suggestions (aka idea list)


Project TitleImplement the Java Management extensions (JMX) API
RVM area
classlib, MMTk, threading, compiler

The Java Management Extensions provide a way to monitor and manage Java Virtual machines. The Jikes RVM can collect significantly more profiling data and runtime statistics than an average JVM as a result of it being focussed on research activities. These statistics would ideally be exported using JMX and could potentially provide a standard mechanism for monitoring the performance and health of the virtual machine and its components.

As a first step, students should focus on laying groundwork for a suitable implementation of the API:

  • Update the JMX code from GSoC 2007 (written by Andrew John Hughes) to work with the current Jikes RVM
  • Implement all the parts of the API that are required
  • Write automated tests that can be integrated into our test frameworks

After that has happened, students should implement the optional parts of the API and Jikes RVM-specific features. The exact set of features will need to be discussed with the community at the appropriate time.


Blog post about JMX with links to further documentation

Our bugtracker entry for JMX

Web view of the JMX branch in the historic svn repository (use "svn checkout svn://" to checkout the code)

needed skillsJava
interested mentorTBD
Project TitleImplement the JVM Tool Interface (JVMTI)
RVM area
threading, JNI

The JVM Tool interface is part of the Java Platform Debugger Architecture that JVMs can implement to provide debugging capabilities. We would like to have a full JMVTI implementation to allow debugging of Java applications that are running on Jikes RVM. Another benefit of JVMTI is that it allows low-level access to JVM internals. This can be used for instrumenting and monitoring the Jikes RVM using low-level code.

There is already a partial JMVTI implementation that was written by James Bornholt for GSoC 2011. His implementation should be used as a basis for this project.


Writeup of James Bornholt on the GSoC 2011 page

Web view of previous GSoC 2011 JVMTI work

needed skillsC, C++, Java, willingness to deal with low-level details
interested mentorTBD
  • No labels