Joseph Lancaster, Ph.D.
Education: Bachelor of Science in computer and information sciences (May 2006)
Master of Science and Doctor of Philosophy in computer science from Kansas State University
McNair Project: A Language for Producing Programs which Exhibit History Independence and Secure Information Flow (2004)
Mentor: Anindya Banerjee, Ph.D.
A history independent data structure ensures privacy by concealing information about previous states and the set of operations that led to the current state. Additionally, secure information flow ensures that sensitive information is not leaked to the public explicitly or implicitly. An explicit flow is exemplified by an assignment of a secure value to an insecure variable. Implicit flow is exemplified by a secure value controlling a low security conditional branch. Preventing such flows ensures that high security inputs are not propagated to low security output. The language developed here combines these two concepts into a single secure and history independent language. Therefore any program written in this language will take on these characteristics. The language remains flexible, however, enabling a programmer to make all or part of a program history independent, or all or part of a program secure. In addition to these characteristics the language also remains flexibly adaptive. This adaptivity gives the language its history independent nature. It is hoped that this language can be used to create secure programs, but it lacks testing. Further testing must be done to confirm its congruence, preservation of properties, and utility.
McNair Project: A Rich Text Manager for Use in the Rapid Development of eXene Widgets which Offer Moderate to Advanced Text and String Manipulation (2005)
Mentor: Alley Stoughton, Ph.D.
There is currently no eXene text-field widget with capabilities comparable to those found in text editors in many operating systems today. While many text editors offered by these operating systems tend to support rich text, no eXene widget does. Those offered by eXene allow only meager plain text manipulation. I introduce a slightly convoluted but promising reusable module prototype or rich text manager (RTM) for automating advanced rich text manipulation for a widget, allowing the widget code to handle graphical and user interaction details, thus giving the widget programmer a break. Furthermore, the programmer may freely pursue functionality not offered by other text widgets by spending more time on additional peculiar details and little or none on mundane text manipulation. This module is a contribution to the incomplete and recently revived X-Window System toolkit eXene originally designed and developed by Emden Gansner and John Reppy. It is intended that this module be used to implement one or more unique and outstanding text manipulation widgets and remain available for any additional novel text manipulating widgets that may be required in the future. Adjustments may be made to the RTM where necessary when creating novel widgets.