My research interests are generally related to computer programming: program construction, program analysis, library design, programming language design, and compiler construction. The goal of my research is to help developers build better software by making complex tasks simpler (but not less efficient).
C++ Concepts
One my primary projects is a major language extension for C++: concepts. I am the editor the ISO Technical Specification: C++ Extensions for Concepts, which is based on work that I began as a Postdoctoral Researcher at Texas A&M, and continued to work on here in Akron. I'm currently working on a series of articles describing how to use these new features. They are published in ACCU Overload.
- "Introduciong Concepts". ACCU Overload. Vol 129.
- "Defining Concepts". (to appear).
Software-defined Networking
My other large project is programming for Software-Defined Networking (SDN). This is a collaboration with Flowgrammable.org and researchers at Texas A&M University. This work is supported by NSF award XXX, and by a gift from Huawei.
This work has two major components:
- Steve: A programming language for the development of safe and efficient dataplane pipelines
- Freeflow: A concurrent networking runtime environment that executes Steve applications
Other projects
- Origin C++ Libraries
- Lingo:: Utilities for compiler construction
- Beaker: A teaching compiler
- Banjo: A (not-quite) C++ implementation
Current students
- MS: Michael Gruesen
- MS: Hoang Nguyen
- Honors BS: Andrew Scott
Former students
- Honors BS: Braden Obrzut. Currently at IronNet CyberSecurity