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

Concurrent Lambda Calculus for MPI | University at Buffalo

The Message Passing Interface (MPI), used in high performance computing, is typically implemented in imperative languages such as C, C++, or Fortran. This makes the verification of programs written in specific MPI implementations difficult. I am working with Dr. Andrew Hirsch to develop a concurrent lambda calculus to capture the message passing capabilities of MPI. We then plan to use the language to verify common algorithms in MPI programs. We are currently focused on adding features needed for useful MPI programming, while keeping the language slim and manageable.

Upstate PL 2025 Presentation

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 (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 on 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: 10/15/2025 by Keith Allen