Nicholas V. Lewchenko
<nicholas.lewchenko@colorado.edu>
I am a computer science PhD student at the University of Colorado Boulder, advised by Pavol Černý.
I am interested in the application of programming languages to distributed systems. My aim in this area is to find language abstractions that make distributed programs as natural to write, mechanically verify, and informally think about as traditional sequential programs.
Publications
-
Sequential Programming for Replicated Data Stores Nicholas V. Lewchenko, Arjun Radhakrishna, Akash Gaonkar, Pavol Černý.
-
DroidStar: Callback Typestates for Android Classes. Arjun Radhakrishna, Nicholas V. Lewchenko, Shawn Meier, Sergio Mover, Krishna Chaitanya Sripada, Damien Zufferey, Bor-Yuh Evan Chang, Pavol Černý.
Projects
Conflict-aware replicated programming (Carol Project)
Programming for replicated data store systems is a uniquely difficult task. This project is building programming tools that make it a little bit easier by dividing the difficulties into simpler, more familiar problems.
The current focus is the design of Carol, a programming language and dependent refinement type system that makes the expression of a replicated operation's minimum coordination requirements simple and safe.
-
Sequential Programming for Replicated Data Stores Nicholas V. Lewchenko, Arjun Radhakrishna, Akash Gaonkar, Pavol Černý.
- Discard, a Haskell library implementing the Carol language and runtime.
- DSV, a Haskell library for computing "accord sets" as used by Carol.
Active learning for asynchronous typestates
This project is extending 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.