Dr. Cristina Cifuentes: Oracle Architect and founding Director of Oracle Labs Australia, headquartered in Brisbane, Australia.

Cristina Cifuentes

Presentation at III Multicore World

A tale of two projects — Partitioning to a massively parallel machine and Scaling out program analysis to millions of lines of code

Cristina Cifuentes, Architect and Research Director, Oracle Labs Australia


Throughout the years, Parallelisation has been essential when handling large amounts of program data in projects that involve transformations of code, whether for the purposes of generating machine code for thousands of processors, or for analysing millions of lines of code or billions of facts in a timely manner.

This talk summarises key design decisions made in a couple of program transformation projects held at Sun Microsystems Laboratories and at Oracle Labs, that allowed both projects to achieve results over very large program data used in the transformations.

The first project relates to a cycle-based Verilog compiler that generated code for a massively parallel machine of more than 40,000 processors.  The second project relates to analysing millions of lines of source code, and billions of facts, to find bugs and security issues in those programs.



Cristina Cifuentes is an Architect and the Principal Investigator of the Java Vulnerability Detection project.  She also serves as the Research Director for Oracle Labs Australia.  She used to be the Principal Investigator for the Parfait project, a static bug checker for the C/C++ language.  Parfait was transferred to the product organisation in June 2012 and is currently used by thousands of developers at Oracle on a day-to-day basis.


Topics –

1st part – “Partitioning of Code for a Massively Parallel Machine” – Paper

2nd part – “Designing a Precise and Scalable Bug Checker for C and Java

Cristina Cifuentes – Research Director, Oracle Labs Australia

Oracle Labs, Australia is located in the Oracle House, Brisbane. The focus of the lab is Program Analysis as it applies to finding bugs in software, detecting security vulnerabilities, enhancing developer productivity, and testing. Researchers in the Bug Finding and Security Vulnerability Detection projects focus on advancing static and dynamic techniques to scale out to millions of lines of source code, while at the same time producing highly precise results. Researchers in the Productivity Tools and Testing projects focus on enhancing productivity and testing through improved developer tools and visualisations, as applied to the C, C++ and Java languages.

Previously, Cristina was the Principal Investigator of the Parfait bug-finding research project for 5 years; now Oracle’s Parfait Static Code Analysis tool, an internal product for C and C++ used by thousands of developers on a day-to-day basis. Parfait’s layered architecture, demand-driven analyses, incremental analyses, visualisations and ease of integration into build systems results in fast and precise results over very large (millions of lines of code) codebases.

Cristina’s research interests focus on the design and implementation of program analyses for large scale software, including bug-finding (Parfait), vulnerability detection (Parfait), binary translation (Walkabout and UQBT) and decompilation (dcc). Interests on compilation techniques for multi and uniprocessor machines led to new partitioning techniques for parallelising code, and static and dynamic compilation techniques for small virtual machines. The following interview with Richard Morris for Geek of the Week touches on Parfait, Walkabout and other topics, March 2010. During 1994-1999 she held academic positions at The University of Queensland and The University of Tasmania.

Cristina has served on the Program Committee for numerous international conferences and workshops in the areas of compiler construction, programming languages, program comprehension, software maintenance, virtual machines, binary translation, and reverse engineering. She was the treasurer and a member-at-large of the Executive Committee of the ACM Special Interest Group on Programming Languages (SIGPLAN) during 2007-2012, and the Chair of the IEEE Committee on Reverse Engineering and Reengineering during 2002-2003.

Cristina also shared an interest in legal aspects of computer software protection. She has worked with lawyers to understand how copyright and other intellectual property systems relate to software protection, and has published in technical computer and legal journals. In 1998 she co-edited the book “Going Digital”, which became the de-facto textbook for teaching Cyberlaw in Australian Law departments.


Adjunct Professor, School of Information Technology and Electrical Engineering, The University of Queensland, 2008-ongoing.


Chancellor’s Outstanding Alumnus, Queensland University of Technology, 2001.


PhD in Computer Science, Queensland University of Technology, 1994. Thesis: “Decompilation of Binary Programs”.

Publications and Patents, available here