People

We are exploring both theoretical and applied areas of programming languages, from type systems and static analysis to virtual machines and concurrency.

Ph.D.

Thierry Delisle, 2022.
Thesis title: The C∀ Scheduler.
Marianna Rapoport, 2019
Thesis title: A Path to DOT: Formalizing Scala with Dependent Object Types.
Aaron Moss, 2019
Thesis title: C∀ Type System Implementation.
Jonathan Eyolfson, 2018
Thesis title: Enforcing Abstract Immutability.
Rei Thiessen, 2017
Thesis title: Efficient Pointer Analysis of Java in Logic.
Karim Ali, 2014
Thesis title: The Separate Compilation Assumption.
Nomair A. Naeem, 2013.
Thesis title: Verification of Temporal Properties Involving Multiple Interacting Objects.
Mirza Omer Beg, 2013.
Thesis title: Combinatorial Problems in Compiler Optimization
Ashif Harji, 2010.
Thesis title: Performance Comparison of Uniprocessor and Multiprocessor Web Server Architectures.
Roy Krischer, 2010.
Thesis title: Advanced Concepts in Asynchronous Exception Handling.
Thomas Lynam, 2009.
Thesis title: Spam Filter Improvement Through Measurement.
Brad Lushman, 2007.
Thesis title: Direct and Expressive Type Inference for the Rank 2 Fragment of System F.
Jun Chen, 2009.
Thesis title: Guided Testing of Concurrent Programs Using Value Schedules.
Stefan Büttcher, 2007
Thesis title: Multi-User File System Search.
Jiongxiong Chen, 2005.
Thesis title: Extensions to Fixed Priority with Preemption Threshold and Reservation-Based Scheduling.
Egidio Terra, 2004.
Thesis title: Lexical Affinities and Language Applications
Anthony Cox, 2002.
Thesis title: A Source-based Approach to Representing and Managing Information Extracted by Program Analysis.
Dave Mason, 2002.
Thesis title: Probabilistic Program Analysis for Software Component Reliability.
Charlie Clarke, 1996.
Thesis title: An Algebra for Structured Text Search.
Anil Goel, 1996.
Thesis title: Exact Positioning of Data Approach to Memory Mapped Persistent Stores: Design, Analysis and Modelling.
Gordon Vreugdenhil, 1996.
Thesis title: A Framework for On-Line Partial Evaluation.
Jun Shen, 1993.
Thesis title: Parametric Overloading, Higher-Order Modules and Dynamic Dispatch: An Ada-Based Approach.
Glen Ditchfield, 1992.
Thesis title: Contextual Polymorphism.

Masters

Jiada Liang 2024
Thesis title: Enumerated Types in C∀.
Colby Parsons 2023
Thesis title: High Level Concurrency in C∀.
Matthew D'Souza 2023
Thesis title: Efficient Implementation of Parametric Polymorphism using Reified Types.
James You, 2022
Thesis title: Specializing Scala with Truffle.
Mubeen Zulfiqar, 2022
Thesis title: High-Performance Concurrent Memory Allocation.
Andrew James Beach, 2021
Thesis title: Exception Handling in C∀.
Michael Thode, 2021
Thesis title: A Type System With Containers.
Yangtian Zi, 2021
Thesis title: No Zombie Types: Liveness-Based Justification For Monotonic Gradual Types.
Alistair Finn Hackett, 2020
Thesis title: TreeGen: a Monotonically Impure Functional Language.
Abel Nieto Rodriguez, 2019
Thesis title: Scala with Explicit Nulls.
Srihari Radhakrishnan, 2019.
Thesis title: High Performance Web Servers: A Study In Concurrent Programming Models.
Daniel Caccamo, 2019.
Thesis title: GoA: Actors with Locally Managed Memory for Go.
Rafi Turas, 2019.
Thesis title: Gradual C Programming for Typed Lua.
Jun Zhao, 2018.
Thesis title: Automatic Refactoring for Renamed Clones in Test Code.
Ifaz Kabir, 2018.
Thesis title: κDOT: A DOT Calculus with Mutation and Constructors.
Zhuo Chen, 2018.
Thesis title: Pluggable Properties for Program Understanding: Ontic Type Checking and Inference.
Mier Ta, 2018.
Thesis title: Context Sensitive Typechecking And Inference: Ownership And Immutability.
Alexi Turcotte, 2018.
Thesis title: Reasoning About Foreign Function Interfaces: Blame and Nondeterministic Formal Semantics.
Ellen Arteca, 2018.
Thesis title: Formal Semantics and Mechanized Soundness Proof for Fast Gradually Typed JavaScript.
Thierry Delisle, 2018.
Thesis title: Concurrency in C∀.
Jianchu Li, 2017.
Thesis title: A General Pluggable Type Inference Framework and its use for Data-flow Analysis.
Rob Schluntz, 2017.
Thesis title: Resource Management and Tuples in C∀.
Ming-Ho Yee, 2016.
Thesis title: Implementing a Functional Language for Flix.
Dan Brotherston, 2016.
Thesis title: Gradual Pluggable Types in Java.
Marianna Rapoport, 2014.
Thesis title: Data Flow Analysis in the Presence of Correlated Calls.
Tarek Chammah, 2011.
Thesis title: Nested pessimistic transactions for both atomicity and synchronization in concurrent software.
Jonathan David Rodriguez, 2010.
Thesis title: A Concurrent IFDS Dataflow Analysis Algorithm Using Actors.
Alan Leung, 2008.
Thesis title: Automatic Parallelization for Graphics Processing Units in JikesRVM.
Andrew Stevenson, 2008.
Thesis title: Aspect-Oriented Smart Proxies in Java RMI
Ayelet Wasik, 2008.
Thesis title: Features of a Multi-Threaded Memory Allocator.
Justyna Gidzinski, 2007.
Thesis title: μProfiler: A Concurrent Profiler for Concurrent C++ (μC++).
Adam Richard, 2007.
Thesis title: OOMatch: Pattern Matching as Dispatch in Java.
Peter Chun Kai Yeung, 2007.
Thesis title: Weighting Document Genre in Enterprise Search.
Archana Adma, 2006.
Thesis title: iTalk: Index your talk.
Jason Skomorowski, 2006.
Thesis title: Topical Opinion Retrieval
Josh Lessard, 2005.
Thesis title: Profiling Concurrent Programs Using Hardware Counters.
Allan Menezes, 2005.
Essay title: A Java Implementation Of A Groupware Editor With Concurrent Update.
Philip Tilker, 2005.
Thesis title: A reliable storage management layer for distributed information retrieval applications.
Jun Chen, 2004.
Thesis title: RMA: A Pattern Based J2EE Development Tool.
Rodolfo Gabriel Esteves, 2004.
Thesis title: Cforall, a Study in Evolutionary Design in Programming Languages.
Daisy Guo, 2004.
Thesis title: Chinese Question Answering with Full-Text Retrieval Re-Visited.
John Johansen, 2004.
Thesis title: Delta Pointers.
David Yeung, 2004.
Thesis title: Adapting Information Retrieval Techniques for a Biomedical Corpus.
Richard Bilson, 2003
Thesis title: Implementing Overloading and Polymorphism in Cforall.
Ming-Yee Iu, 2002.
Thesis title: Selective Flooding in Ad Hoc Networks.
Roy Krischer, Diplomarbeit, 2002.
Thesis title: Bound Exceptions in Object-Oriented Programming Languages.
Brad Lushman, 2002.
Thesis title: Transformation-based Concurrency Control in Groupware Systems.
Greg McLearn, 2002.
Thesis title: Autonomous Cooperating Web Crawlers.
Thomas Lynam, 2002.
Thesis title: Exploitation of Redundant Inverse Term Frequency for Answer Extraction.
Chiasen (Charles) Chung, 2001.
Thesis title: Topic-oriented Collaborative Web Crawling.
Caroline Kierstead, 2001.
Essay title: The Application of Patterns to Concurrent Control Flow.
Leszek Kurzyna, 2000.
Thesis title: A Self-Organizing, Reliable Information Retrieval System.
Dorota Zak, 2000.
Thesis title: Analyzing Multi-Threaded Program Performance with uProfiler.
Ashif Harji, 1999
Thesis title: High-Level Real-Time Concurrency.
Kinson Ho, 1999.
Thesis title: WatEVER: An Effective and Efficient Web Notification Protocol.
Oliver Schuster, Diplomarbeit, 1999.
Thesis title: Replay of Concurrent Shared-Memory Programs.
Michael Van Biesbrouck, 1999.
Thesis title: Compiling GCL Query Evaluators
Ming Zhou, 1999.
Thesis title: Generalizing Database Access Methods.
Sam To, 1998.
Thesis title: Passage-Based Chinese Text Retrieval
Robert Denda, Diplomarbeit, 1997.
Thesis title: Profiling Concurrent Programs.
Simon Gammage, 1997.
Essay title: Compiling Standard ML to Java.
Russell Mok, 1997.
Thesis title: Concurrent Abnormal Event Handling Mechanisms.
Charlie "Buck" Krasic, 1996.
Thesis title: Parametric Overloading In ML.
Philipp Lim, 1996.
Thesis title: Real-time in a Concurrent, Object-Oriented Programming Environment.
Piotr Przybylski, 1996.
Thesis title: A Type-Based Implementation of a Language with Distributed Scope.
Jun Shih, 1996.
Thesis title: Debugging Concurrent Programs
Chi-Hung (Wilson) Tam, 1996.
Thesis title: Objects with Polymorphic Methods and Self Types in Standard ML.
Martin Karsten, Diplomarbeit, 1995.
Thesis title: A Multi-Threaded Debugger for Multi-Threaded Applications.
Constantinos Sourelis, 1995.
Thesis title: Mixin Modules.
Frederick Bent, 1994
Thesis title: A Standard ML Type Error Explanation System.
Rory Jacobs, 1994.
Thesis title: A Debugger for Multi-Threaded Applications.
Hamish Macdonald, 1993.
Thesis title: Exception Handling for the uSystem.
Scotte Zinn, 1993.
Thesis title: Efficient Event Generation for Race Detection.
Anderson Wai, 1992.
Essay title: Storage Management Support for Memory Mapping.
David Ziegler, B.IS., 1992.
Thesis title: Adding "Overloading Polymorphism" to C.
Brian Younger, 1991.
Thesis title: Adding Concurrency to C++.
Charlie Clarke, 1990.
Thesis title: Language and Compiler Support for Synchronous Message Passing Architectures.
Anthony Scian, 1990.
Thesis title: Software reusability paradigms.
Gordon Vreugdenhil, 1990.
Thesis title: Memory Management and Light-Weight Tasks on Loosely Coupled Multiprocessors.
Michel Fortier, 1989.
Thesis title: A Study of Monitors.
David W. Till, 1989.
Thesis title: Tuples In Imperative Programming Languages.
Richard A. Stroobosscher, 1989.
Essay title: Light Weight Processes in a Shared Memory Multiple Processor Environment.
Andrew Wright, 1986, Research Associate 1988-1990.
Thesis title: Design of the programming language ForceOne.
Dennis Vadura, 1985.
Thesis title: A Proposed Design for the Sylvan Kernel.