Keith Allen

Contact | Email: ktallen@buffalo.edu | Github: KeithTAllen

An Introduction

Hi, I'm Keith, a Computer Science PhD student at the University at Buffalo where I study Programming Languages. Along with PL, I am interested in message passing concurrency, applied ontology, and pretty much any puzzle. Before studying at UB I graduated from SUNY Oswego, where I studied Applied Math and Computer Science.

This site contains a collection of past and current projects and artifacts relating to each.

Current Projects

ChorMPI | University at Buffalo

The Message Passing Interface (MPI) is the default standard for high-performance computing (HPC). While MPI programs are used in important areas of research, such as medical, aerospace, and energy, they are largely unverified, and can deadlock. However, MPI programmers are already writing their programs with a global view of the system in mind, similar to choreographic programming, a new paradigm for writing distributed systems that ensures deadlock-freedom by design. Thus, we are creating ChorMPI, a choreographic HPC language, based on MPI, to ensure deadlock freedom with minimal interruptions to MPI Programmer's current workflow.

This is joint work with Dr. Andrew Hirsch and Dr. Matt Knepley. Below are some artifacts from assorted presentations over the life of this project.

UpstatePL25 Slides PDF | POPL26 SRCPoster | PLDI26 Choreographic Programming Workshop Slides PDF Talk

Past Projects

Dialog Based Ontology Learner | SUNY Oswego/ATRC

As both an independent study and as an intern I worked with a small team on the DBOL. DBOL is a standalone system that assists a domain expert in building Basic Formal Ontology (BFO) compliant domain ontologies.
Much of my work on the DBOL team was summarized as one capstone project and even led to another capstone project. The paper covers a general overview of Applied Ontology, before diving into the DBOL system itself and the different user tests.

Professor: Dr. Dan Schlegel | Year: 2023/Spring '24 | Paper

Capstone Project: Ontology and Similarity Metrics | SUNY Oswego

For my capstone project I worked with Dr. Wilcox to study Ontology through a mathematical lens. This project stems from the other Ontology research project (DBOL) I worked on. Specifically, we wanted to use a similarity metric to compare the incorrectness of term assignments between ontologies that share the same terms. To do this, Katz Similarity was implemented in Java to match the parent project.

Professor: Dr. Elizabeth Wilcox | Year: Fall '23 | Github Repository | Paper | Presentation

Software Design CSC480 | SUNY Oswego

I worked with my classmates to create a movie rating website. As a member of the backend team we were responsible for the database design, networking, security, and business logic of the project. Additionally, throughout the course we learned about the software development cycle, specifically in a larger team setting (~20 members).

Professor: Paul Austin & Dr. Vanessa Maike | Year: Fall '23 | Class Github Repository
Last updated: 3/12/2026 by Keith Allen