Nicholas V. Lewchenko

<nicholas.lewchenko@colorado.edu>

I am a computer science PhD student at the University of Colorado Boulder, advised by Gowtham Kaki, and previously by Pavol Černý.

I am interested in the application of programming languages to distributed systems. My aim in this area is to identify programming model restrictions that make distributed programs easier to write, verify, and think about.

Publications

Projects

Decidable Verification for Replication Systems (current)

The current focus is the verification of distributed consensus protocols, aiming to reduce the manual verification effort that is required by existing approaches. If you're curious, read our PaPoC'23 abstract for more details: Distributed Consensus Algorithms as Replicated State Applications.

Semantic Consistency Mechanisms for Replicated State Applications

The aim of this project is to design language abstractions for consistency configuration that are finer-grained than the typical Strong/Eventual choice, using datatype semantics to allow concurrency in more situations.

The major contribution is Carol, a programming language that makes the expression of a replicated operation's coordination requirements simple and efficient.

Active learning for asynchronous typestates

This project extended active learning techniques to systems with asynchronous behavior. The major contribution is DroidStar, a testing library for automatically generating "callback typestates" that specify callback-based Android classes.