Build tools to express computations on novel digital and virtual machines. Define instruction sets and high-level program representations with hardware and cryptography teams. Develop embedded programming languages, special-purpose compilers, and machine emulators.