The Secure, Reliable, and Intelligent Systems Lab (SRI) is a research group in the Department of Computer Science at ETH Zurich and part of the ETH ICE center. We work at the broad intersection of machine learning and formal reasoning with applications to safe artificial intelligence, probabilistic and quantum programming, AI-driven coding, security and others. Our work led to three ETH spin-offs: DeepCode.ai, ChainSecurity, and LatticeFlow.
Research List
Safe and Interpretable Artificial Intelligence
In this project we explore new methods and systems which can reason about AI safety, including deep learning. Concretely, we have introduced new approaches and tools for certifying and training robust and interpretable deep neural networks.
Machine Learning for Programming
This project combines programming languages and machine learning for building statistical programming engines — systems built on top of machine learning models of large codebases. These are new kinds of engines which can provide statistically likely solutions to problems that are difficult or impossible to solve with traditional techniques.
Probabilistic Programming and Applications
This project consists of research on building efficient probabilistic solvers and applying existing probabilistic solvers to different practical application domains, such as security and computer networks.
ast Numerical Abstract Domains
In this project we develop optimized implementations of popular numerical abstract domains such as Polyhedra, Octagon and Zonotopess for static analysis of programs and neural networks. We design improved algorithms, online decomposition as well as performance optimizations from linear algebra such as vectorization, locality of reference, scalar replacement etc. to significantly improve the performance of numerical domains.
SYSTEMS

ELINA: ETH Library for Numerical AnalysisELINA contains optimized implementations of popular numerical abstract domains such as Polyhedra, Octagon and Zones
Quantum Programming
In this project we develop new techniques to develop, analyze, and reason about quantum programs.

Programmable Networks
Computer networks are hard to manage. In this project, we develop novel systems for reasoning about computer networks and automatically synthesizing their configurations.

SYSTEMS

Net2TextNet2Text assists network operators in reasoning about their network-wide forwarding state by directly answering to questions expressed in natural language

NetCompleteNetComplete automatically autocompletes configurations for routers running multiple interacting protocols, including policy-based protocols (BGP) and shortest-path protocols (OSPF), and it also supports static routes

SyNETSyNet automatically synthesizes configurations for routers running multiple interacting protocols, including policy-based protocols (BGP) and shortest-path protocols (OSPF), and it also supports static routes

BayonetBayonet is a language and a system for reasoning about probabilistic networks
Blockchain Security
Computational Biology
In this project we develop accurate computational approaches to biological problems.

TOOLS
AStarix: Fast and Optimal Sequence-to-Graph AlignmentAStarix is a sequence-to-graph semi-global aligner based on A* shortest path algorithm. It supports general graphs and finds alignments that are optimal according to edit-distance with non-negative weights.
Blockchain Security
In this project we build novel solutions for securing blockchain projects, including automated audit platforms for certifying the correctness of smart contracts

STARTUPS
ChainSecurityChainSecurity brings advanced security tools and solutions for blockchains