College of Computing and Digital Media Dissertations

Date of Award

Spring 4-21-2023

Degree Type


Degree Name

Doctor of Philosophy (PhD)


School of Computing

First Advisor

Xiaoping Jia, PhD

Second Advisor

Adam Steele, PhD

Third Advisor

Wael Kessentini, PhD

Fourth Advisor

Chris Jones, PhD


Over time the level of abstraction embodied in programming languages has continued to grow. Paradoxically, most programming languages still require programmers to conform to the language's rigid constructs. These constructs have been implemented in the name of efficiency for the computer. However, the continual increase in computing power allows us to consider techniques not so limited. To this end, we have created CABERNET, a Controlled Natural Language (CNL) based approach to program creation. CABERNET allows programmers to use a simple outline-based syntax. This syntax enables increased programmer efficiency.

CNLs have previously been used to document requirements. We have taken this approach beyond the typical application of creating requirements documents to creating functional programs. Using heuristics and inference to analyze and determine the programmer's intent, the CABERNET toolchain can create functional mobile applications. This approach allows programs to align with how humans think rather than how computers process information. Using customizable templates, a CABERNET application can be processed to run on multiple run-time environments. Since processing a CABERNET program file results in a native application program, performance is maintained.

This research explores whether a CNL-based programming tool can provide a readable, flexible, extensible, and easy-to-learn development methodology. To answer this question, we compared sample applications created in Swift, SwiftUI, and a prototype of the CABERNET toolchain. The CABERNET implementations were consistently shorter than those produced in the other two languages. In addition, users surveyed consistently found the CABERNET samples easier to understand.



To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.