Introduce self-optimization capabilities into Oracle's computer systems and processes based on adaptive learning methods
The Callisto project investigates how systems software can evolve to better support parallel and distributed runtime systems on tightly-coupled clusters and on large NUMA systems.
Performance analysis of computer system architectures exploiting new technology trends using advanced workload characterization and modeling techniques.
Building security analyses for JavaScript applications running on Node.js.
The project aims to develop FPGA offload engine to accelerate existing software in various high value applications including ingestion of data into engineered systems and Big Data applications.
FastR is an open-source high-speed implementation of the R programming language for statistics atop Truffle and Graal.
A tool that lets you query a graph of extracted code dependencies to find symbols, show references, follow chains and determine the impact of changes to your multimillion-line codebase.
A high-performance multi-language VM with a focus on Java, JavaScript, Ruby, and R.
Implementing an ECMAScript 2017 compliant JavaScript engine based on Graal and Truffle.
The KeyBridge project investigates opportunities for moving application logic to the network.
The mission of the Machine Learning Research Group is to scale Machine Learning across Oracle by researching and developing ML-based solutions that improve Oracle's products and services.
The Memory Systems Research team identifies and develops technologies that improve memory system performance for targeted applications
Parallel, Efficient, In-Memory Graph Processing supported by a high level domain-specific language
Research project exploring potential effects of emerging byte-addressable persistent memory technologies on software and systems design.
Praline aims to enable static analysis of programs containing PL/SQL code.
Programming language design, semantics, algorithms, and implementation with an emphasis on convenient use of parallelism using multicores and GPUs.
Randomized Decomposition is a mathematical programming technique for solving hard, non-convex mathematical programming problems.
Principles and techniques for developing concurrent programs that are scalable, efficient, and correct.
Exploration of techniques beyond the Program Analysis domain to find bugs and vulnerabilities, or to prevent such bugs and vulnerabilities.
Implementing the Ruby programming language using Graal and Truffle.
Develops high-speed circuit technologies and design methods that enable novel architectures.
Wafer: Web Application Framework for Exploring, Exposing & Eliminating Risks, using static program-analysis techniques to detect security flaws, e.g. SQL injection & cross-site scripting in web apps.
Leveraging modern compiler technology and programming languages within data processing engines.

CAD system with schematic capture and layout features.
Finding security vulnerabilities in the Java Platform (i.e., the Java Development Kit) using static program analysis techniques.
Static program analysis techniques focusing on developing precise and scalable analyses for finding bugs in large-scale C and C++ source code.
Project RAPID is a hardware-software co-design project targeting large-scale data management and analysis.
Soufflé: a Datalog compiler optimised for static program analysis, e.g. points-to and taint. It translates Datalog programs to efficient and parallel C++ programs and enables rapid prototyping.
Titan implements a peer-to-peer overlay network message routing service.