Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
RiSE CRX Compilers and Runtimes Working Group
RiSE CRX Compilers and Runtimes Working Group

The Compiler and Runtime (CRx) working group addresses problems related to performance, energy efficiency, scalability, security, and privacy via fundamental advances to compiler and runtime technology. We tackle scenarios ranging from mobile devices to datacenters, leveraging our research expertise in language translation, optimization, virtual machines, garbage collection, static analysis and runtime monitoring.

  • JavaScript Time-Travel Debugger
    This project is focused on creating a low-overhead Time-Traveling Debugger in the Chakra JavaScript engine. This debugger supports reverse variations of the step forward operations in a debugger to enable a developer to easily reverse program execution time to see the exact sequence of statements and program values leading to an error. This project is being developed as part of the ChakraCore JavaScript engine (
  • Uncertainty
    Uncertainty is a C# library that uses LINQ to let developers easily express probabilistic computations and then inference over those computations. See our recorded Research In Focus talk from the Microsoft Faculty Summit ( this past year for more information. Uncertain<T> is on GitHub: (
  • Parasail
    Parasail is a novel approach to parallelizing a large class of seemingly sequential applications wherein dependencies are, at runtime, treated as symbolic values. The efficiency of parallelization, then, depends on the efficiency of the symbolic computation, an active area of research in static analysis, verification, and partial evaluation. This is exciting as advances in these fields can translate to novel parallel algorithms for sequential computation.
  • TouchDevelop
    Create apps everywhere on all your devices! For Windows Phone and the web. In the TouchDevelop programming environment you write scripts by tapping on the screen. You do not need a separate PC or keyboard. Scripts can perform various tasks similar to regular apps. Any TouchDevelop user can install, run, edit, publish scripts. You can share scripts with other people by publishing them to the TouchDevelop script bazaar, or by submitting them as an app to the Windows Store or Windows Phone Store.
  • The F* Project
    F* is a verification-oriented dialect of ML. For more information, please visit or click on the logo below.
  • Yarra: An Extension to C for Data Integrity and Partial Safety
    Even with protections like array-bounds checking in place, C programs remain vulnerable to errors in untrusted third-party libraries. Yarra is a new extension to C that uses a combination of static and dynamic techniques to protect the integrity of critical data structures in a C program from corruption by buggy libraries. We have used Yarra to harden applications ranging from SSH, FTP, and HTTP servers to memory allocators like BGET from non-control data attacks in third party code.
  • Common Compiler Infrastructure
    The Common Compiler Infrastructure (CCI) is a set of libraries and an application programming interfaces (API) that supports some of the functionality that is common to compilers and related programming tools.
  • SPUR: A Trace-Based JIT Compiler for CIL
    SPUR is a research prototype of a tracing just-in-time compiler (TJIT) for CIL.