This post describes my winter 2019 internship in the Eclipse OpenJ9 team. At the time of writing, I am a second-year computer science student at the University of Waterloo. This was my first co-op term, so I was excited to utilize the knowledge learned from university in a real-world programming project.
The first part of my internship was to implement the AUTO_DETECT feature which was an enhancement to the test framework used in both the Eclipse OpenJ9 and AdoptOpenJDK projects. Instead of manually exporting environmental variables like JDK_VERSION, JDK_IMPL and SPEC, the AUTO_DETECT setting helps users automatically set up the environment before running, greatly reducing the number of steps required to setup and run tests locally.
This enhancement could also help developers wishing to run testing via Jenkins jobs. When they use customized SDKs, AUTO_DETECT will provide corresponding environment details. While auto detection is the default behaviour, there are cases when a user may wish to override it. In this way, the user has the flexibility to decide whether they need automatic detection or not.
The second part was adding DDR tests (tests for the debugging tools for OpenJ9), to make sure it could be used on all platforms. This helped me understand generating core dump files, accessing with different options, and testing materials used in OpenJ9.
I also worked on the Test Result Summary Service (TRSS) and Smart Media Service, two open-sourced web projects.
As a Jenkins user, I want a dashboard that can monitor and record the Jenkins jobs about which I care most. TRSS is a useful project for customizing your own dashboard. I learned a lot in this project by fixing code issues, parsing data, and displaying UI.
At the end of my term, I joined a start-up web project Smart Media, which aims to discuss the influence of social media on any open source project. I added the APIs to initially check the possible value we could get. Hopefully, after adding a UI, this project will give lots of statistical charts like the following image, to visually display the relationship of social media activity to developer engagement. My contribution has helped lay the ground work for this effort.
This four months was a wonderful experience for me, not only because of these amazing software projects but also because of this warm OpenJ9 team. And I really appreciate the support of my mentor Lan Xia.