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).
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.
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
- Origin C++ Libraries
- Lingo:: Utilities for compiler construction
- Beaker: A teaching compiler
- Banjo: A (not-quite) C++ implementation
- MS: Michael Gruesen
- MS: Hoang Nguyen
- Honors BS: Andrew Scott
- Honors BS: Braden Obrzut. Currently at IronNet CyberSecurity