Professor of Computer Science

Dependable distributed systems, from theory to practice

I build dependable distributed systems and the tools needed to understand, test, and operate them. In the Reliable Systems Lab, our work connects rigorous protocols with high-quality systems software.

  • Distributed systems
  • Fault tolerance
  • Byzantine consensus
  • Blockchains
  • Research software

Research approach

From protocol theory to usable systems

Our research spans fault tolerance, Byzantine consensus, blockchains, high-level programming abstractions, and research software.

We treat open-source artifacts as part of the research method: they make abstractions concrete and support reproducible experiments, classroom use, and follow-on research.

Our research systems are implemented primarily in Go and gRPC.

Research outputs

Systems and publications

  • GorumsA Go framework for building quorum-based distributed systems with gRPC and Protocol Buffers. Includes a code generator and abstractions for ordered, fault-aware RPCs.
  • HotStuffA modular Go implementation of leader-based Byzantine fault-tolerant consensus used for research and teaching.
  • QuickFeedAutomated feedback and course-management infrastructure for programming exercises, developed through several generations of student and staff collaboration.
  • BBHashA high-performance minimal perfect hash implementation in Go focused on low memory use.
  • SNIPSA scalable protocol for efficient state synchronization in decentralized storage systems.
  1. 2026Smaran: Serving Authenticated Time-Travel Queries31st ACM Symposium on Operating Systems Principles (SOSP) · To appear
  2. 2026Ambulance: Saving BFT through Racing20th USENIX Symposium on Operating Systems Design and Implementation (OSDI)
  3. 2026OptiLog: Assigning Roles in Byzantine Consensus21st European Conference on Computer Systems (EuroSys)
  4. 2024Iniva: Inclusive and Incentive-Compatible Vote Aggregation54th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)
  5. 2023SNIPS: Succinct Proof of Storage for Efficient Data Synchronization in Decentralized Storage SystemsarXiv:2304.04891
  6. 2022A Privacy-Preserving and Transparent Certification System for Digital Credentials26th International Conference on Principles of Distributed Systems (OPODIS)
  7. 2021Snarl: entangled merkle trees for improved file availability and storage utilization22nd International Middleware Conference (Middleware)
  8. 2017Towards New Abstractions for Implementing Quorum-Based Systems37th IEEE International Conference on Distributed Computing Systems (ICDCS)
  9. 2017Local Recovery for High Availability in Strongly Consistent Cloud ServicesIEEE Transactions on Dependable and Secure Computing · vol. 14, no. 2, pp. 172–184
  10. 2015SmartMerge: A New Approach to Reconfiguration for Atomic Storage29th International Symposium on Distributed Computing (DISC)
  11. 2014ByzID: Byzantine Fault Tolerance from Intrusion Detection33rd IEEE International Symposium on Reliable Distributed Systems (SRDS)
  12. 2012When You Don't Trust Clients: Byzantine Proposer Fast Paxos32nd IEEE International Conference on Distributed Computing Systems (ICDCS)
Browse the full publication list on Google Scholar ↗

Research leadership

Building teams and long-term collaborations

I build research teams and long-term collaborations connecting foundational distributed systems research with students, research software, academic partners, and industry.

2018–2022 / project manager

BBChain

Efficient trustworthy computing with blockchains and biometrics.

NOK 10 million
2019–2022 / project manager

CREDENCE

RCN / SIU INTPART collaboration network for dependable and secure distributed systems.

NOK 4.5 million
2010–2014 / principal investigator

Tidal News

Adaptive and dependable data dissemination in the Internet of Systems.

NOK 10.5 million
2007–2011 / principal investigator

IS-Home

Integrated IP-based services for smart-home environments.

NOK 11.8 million
Oct. 2022-Nov. 2023University of California, BerkeleyElectrical Engineering and Computer ScienceWith Natacha Crooks, Suyash Gupta others
Aug. 2017-Aug. 2018Lawrence Berkeley National LaboratoryComputing Sciences DivisionWith Sean Peisert and others
June 2010-Aug. 2011University of California, San DiegoComputer Science and EngineeringWith Keith Marzullo and Alessandro Mei; Byzantine-client masking for fault-tolerant systems
Mar.-Aug. 2001University of BolognaComputer ScienceWith Ozalp Babaoglu and Alberto Montresor; Anthill peer-to-peer project

Teaching and mentoring

Teaching systems through practice

Courses combine foundational ideas with code, experiments, technical writing, and discussion of current research.

M.S. / 2023-present

Cloud Computing Technologies

Cloud architectures, distributed infrastructure, virtualization, containers, and systems engineering.

M.S. / 2007-present

Distributed Systems

Theory and practice of distributed systems, including logical time, consistent global states, consensus, fault tolerance, and student-led research-paper discussions.

Ph.D. / 2018-present

Formal Methods for Specifying Systems (on demand)

Formal specification and reasoning about concurrent and distributed systems.

B.S. / 2012-2022

Operating Systems and Systems Programming

Course ownership, repeated redesigns, original notes, English-language delivery, and substantial systems-programming laboratories with automated feedback.

B.S. / 2003-2009

Computer Networking

Developed lectures, slides, theory exercises, and network-programming exercises.