Follow us:
  • Follow us on Facebook
  • Follow us on Twitter
  • Follow us on Linked In
Student Login

  New Student Signup  |  Lost Password

S'ware Eng/IT: custom search and query language for Frappe (Java, Unix)

Oracle Labs #1

Return to List

Open Posted: 19 Sep 17. Closes: 22 Nov 17 Available: Summer vac + Semester 1 (Dec - Jun)

Summer vacation + Semester 1 2018 project

Note: students must be able to enrol in thesis/project during Semester 1; as well available whole of summer vacation. These are requirements for this project.

This project will suit final year / Masters students in Software Engineering / Computer Science / IT - with strong programming skills (Java - essential), experience with Unix-based systems, and a very solid understanding of data structures and algorithms (Grade 6 or 7 in relevant subject/s).

The successful applicant will receive a $6,000 scholarship + academic credit (24cps - QUT; 4 units - UQ).  You must be available to work on the project onsite for 3 days/week during semester 1; plus 5 days/week over the entire summer vacation period (excluding public holidays).

APPLICANTS NOTE: you must include your academic transcript/s inside your resume (undergrad + Masters if applicable) - before Oracle Labs will consider your application. Also include your student number.

Location: Brisbane CBD QLD
Categories: Information Technology, Electrical Engineering

Project Background / Description

The Frappé project aims to help both experienced and inexperienced developers with code comprehension tasks in large codebases, and in particular, understanding and navigating dependencies in their code. It draws on a variety of techniques from the program analysis, graph analytics, software visualisation and user interface fields, with a focus on its application to C, C++, and Java.

This project will extend the Frappé query functionality to allow a wider range of searches using the data already available through the use of a custom query language. Changes to both the front-end (Typescript and Knockout.js) and back-end (Java, SQL, PGX) of Frappé will be required, with the majority of work in one or the other depending on the applicant's skill-set or interest.

The successful applicant will work within the Frappé team.


About Oracle

Oracle offers a comprehensive and fully integrated stack of cloud applications, platform services, and engineered systems.  With more than 400,000 customers—including 100 of the Fortune 100—in more than 145 countries, Oracle provides a complete technology stack both in the cloud and in the data centre.

Oracle’s industry-leading cloud-based and on-premises solutions give customers complete deployment flexibility and unmatched benefits including application integration, advanced security, high availability, scalability, energy efficiency, powerful performance, and low total cost of ownership.

For more information about Oracle, visit

Oracle Labs

Oracle Labs is the research division of Oracle.  It focuses on applied research to produce new technologies of interest to the company.

Oracle Labs Australia (, based in Brisbane, specialises in Program Analysis in a variety of domains, including bug-checking, productivity tools, security analysis, testing, and more. The Brisbane team hit the headlines with its research on static code analysis that lead to scalable and precise bug-checking algorithms embedded in the Parfait tool.

How Oracle helps CEED students

We link you up with an experienced supervisor on the Brisbane team. Yes, you’ll have your own mentor! They will work closely with you, helping you grow your skills—really practical skills you can put to work in real-world situations.

Now, be prepared: working at Oracle Labs is not a holiday. The work can be hard—a real challenge sometimes. So you’ll need to buckle down. But it’s a great workplace. If you put in the hard yards with Oracle Labs, your résumé will go to the top of the pile in job applications. It’s your ticket to the future.

Objectives / Tasks / Project Outcomes

  • Scope the project based on the individual’s interests/strengths and the requirements of Oracle Labs
  • Review existing work on general search and query languages, with specific focus on source code and program querying
  • Design custom query language using the Spoofax Language Workbench
  • Implement minimal back-end support
  • Implement minimal front-end support
  • Extend either back-end or front-end (or both) with more features, eg. query auto-completion support or more complex queries
  • Write a detailed report on work done
  • Give a presentation to the group on work done

Skills / Experience Required

  • Java
  • Javascript/Typescript (preferred but not required)
  • SQL (preferred but not required)
  • Excellent academic results
  • Excellent problem-solving skills
  • Strong interest in programming languages and software engineering principles
  • Strong understanding of data structures and algorithms
  • Experience with Unix-based systems
  • Ability to work independently and in small groups

Return to List

Subscribe to e-newsletter