Browsing Engineering (Faculty of) by Supervisor "Dietl, Werner"
Now showing items 1-12 of 12
-
Context Sensitive Typechecking And Inference: Ownership And Immutability
(University of Waterloo, 2018-04-26)Context sensitivity is one important feature of type systems that helps creating concise type rules and getting accurate types without being too conservative. In a context-sensitive type system, declared types can be ... -
A General Pluggable Type Inference Framework and its use for Data-flow Analysis
(University of Waterloo, 2017-04-27)Java's pluggable type systems provide valuable compile-time guarantees, but annotating the program with pluggable types can be a significant burden on programmers. Checker Framework Inference, a framework that aims to ... -
GoA: Actors with Locally Managed Memory for Go
(University of Waterloo, 2019-01-25)Reasoning about concurrent programs and the way they manage memory can be difficult. Single-process programs can allocate memory without concern regarding data races or memory corruption, but multi-threaded programs must ... -
An Immutability Type System for Classes and Objects: Improvements, Experiments, and Comparisons
(University of Waterloo, 2021-04-16)Mutability, the ability for an object to change, is frequently cited as one of the sources of software problems. Ensuring the immutability of objects opens opportunities for optimizations, e.g., removing the need for locks ... -
Interval Type Inference: Improvements and Evaluations
(University of Waterloo, 2021-12-20)Interval analysis estimates the run-time values of numerical expressions in the source code by computing a lower bound and an upper bound. Interval analysis for integral types is useful in providing facts of the target ... -
Least-Privilege Identity-Based Policies for Lambda Functions in Amazon Web Services (AWS)
(University of Waterloo, 2020-12-21)We address least-privilege in a particular context of public cloud computing: identity-based policies for callback functions, called Lambda functions, in serverless applications of the Amazon Web Services (AWS) cloud ... -
Light-weight verification of cryptographic API usage
(University of Waterloo, 2020-12-15)A pluggable type system is a light-weight approach for compile-time program verification, which provides more powerful types to both developers and compilers. Developers use pluggable types to boost program understanding, ... -
A Lightweight Type System with Uniqueness and Typestates for the Java Cryptography API
(University of Waterloo, 2023-08-17)Java cryptographic APIs facilitate building secure applications, but not all developers have strong cryptographic knowledge to use these APIs correctly. Several studies have shown that misuses of those cryptographic APIs ... -
OppropBERT: An Extensible Graph Neural Network and BERT-style Reinforcement Learning-based Type Inference System
(University of Waterloo, 2022-12-20)Built-in type systems for statically-typed programming languages (e.g., Java) can only prevent rudimentary and domain-specific errors at compile time. They do not check for type errors in other domains, e.g., to prevent ... -
Pluggable Properties for Program Understanding: Ontic Type Checking and Inference
(University of Waterloo, 2018-04-26)Pluggable type systems is a powerful approach to add additional information on types, which can facilitate the understanding of programs. This thesis presents our work on three pluggable type systems for helping both ... -
Type Checking and Whole-program Inference for Value Range Analysis
(University of Waterloo, 2020-10-19)Value range analysis is important in many software domains for ensuring the safety and reliability of a program and is a crucial facet in software development. The resulting information can be used in optimizations such ... -
UniFlow: A CFG-Based Framework for Pluggable Type Checking and Type Inference
(University of Waterloo, 2023-04-21)A type system is a crucial component of high-level programming languages, as it enhances program correctness by ruling out certain type errors. However, the built-in type system often adheres to a specific set of rules ...