Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Kenneth Knowles is active.

Publication


Featured researches published by Kenneth Knowles.


ACM Transactions on Programming Languages and Systems | 2010

Hybrid type checking

Kenneth Knowles; Cormac Flanagan

Traditional static type systems are effective for verifying basic interface specifications. Dynamically checked contracts support more precise specifications, but these are not checked until runtime, resulting in incomplete detection of defects. Hybrid type checking is a synthesis of these two approaches that enforces precise interface specifications, via static analysis where possible, but also via dynamic checks where necessary. This article explores the key ideas and implications of hybrid type checking, in the context of the λ-calculus extended with contract types, that is, with dependent function types and with arbitrary refinements of base types.


european symposium on programming | 2007

Type reconstruction for general refinement types

Kenneth Knowles; Cormac Flanagan

General refinement types allow types to be refined by predicates written in a general-purpose programming language, and can express function pre- and postconditions and data structure invariants. In this setting, with expressive and possibly verbose types, type reconstruction is particularly valuable, yet typeability is undecidable because it subsumes type checking. Using a generalized notion of type reconstruction, we present the first type reconstruction algorithm for a type system with base types refined by abitrary program terms. Our algorithm is a typeability-preserving transformation and defers type checking to a subsequent phase. The algorithm generates and solves a collection of implication constraints over refinement predicates, inferring maximally precise refinement predicates in a largely syntactic manner that is reminiscent of strongest postcondition calculation. Perhaps surprisingly, our notion of type reconstruction is decidable even though type checking is not.


principles of security and trust | 2016

Faceted Dynamic Information Flow via Control and Data Monads

Thomas Schmitz; Dustin Rhodes; Thomas H. Austin; Kenneth Knowles; Cormac Flanagan

An application that fails to ensure information flow security may leak sensitive data such as passwords, credit card numbers, or medical records. News stories of such failures abound. Austin and Flanagan [2] introduce faceted values --- values that present different behavior according to the privilege of the observer --- as a dynamic approach to enforce information flow policies for an untyped, imperative


programming languages meets program verification | 2009

Compositional reasoning and decidable checking for dependent contract types

Kenneth Knowles; Cormac Flanagan


Archive | 2006

Sage: Hybrid Checking for Flexible Specifications

Jessica Gronski; Kenneth Knowles; Aaron Tomb; Stephen N. Freund; Cormac Flanagan

\lambda


Archive | 2007

Sage: Unified Hybrid Checking for First-Class Types, General Refinement Types, and Dynamic (Extended Report)

Kenneth Knowles; Aaron Tomb; Jessica Gronski; Stephen N. Freund; Cormac Flanagan


Archive | 2008

Proving correctness of a dynamic atomicity analysis in Coq

Caitlin Sadowski; Jaeheon Yi; Kenneth Knowles; Cormac Flanagan

λ-calculus. We implement faceted values as a Haskell library, elucidating their relationship to types and monadic imperative programming. In contrast to previous work, our approach does not require modification to the language runtime. In addition to pure faceted values, our library supports faceted mutable reference cells and secure facet-aware socket-like communication. This library guarantees information flow security, independent of any vulnerabilities or bugs in application code. The library uses a control monad in the traditional way for encapsulating effects, but it also uniquely uses a second data monad to structure faceted values. To illustrate a non-trivial use of the library, we present a bi-monadic interpreter for a small language that illustrates the interplay of the control and data monads.


Technical Report UCSC-SOE-14-07 | 2014

Typed Faceted Values for Secure Information Flow in Haskell

Thomas H. Austin; Kenneth Knowles; Cormac Flanagan

Simple type systems perform compositional reasoning in that the type of a term depends only on the types of its subterms, and not on their semantics. Contracts offer more expressive abstractions, but static contract checking systems typically violate those abstractions and base their reasoning directly upon the semantics of terms. Pragmatically, this noncompositionality makes the decidability of static checking unpredictable. We first show how compositional reasoning may be restored using standard type-theoretic techniques, namely existential types and subtyping. Despite its compositional nature, our type system is exact, in that the type of a term can completely capture its semantics, hence demonstrating that precision and compositionality are compatible. We then address predictability of static checking for contract types by giving a type-checking algorithm for an important class of programs with contract predicates drawn from a decidable theory. Our algorithm relies crucially on the fact that the type of a term depends only the types of its subterms (which fall into the decidable theory) and not their semantics (which will not, in general).


Archive | 2008

Compositional and Decidable Checking for Dependent Contract Types

Kenneth Knowles; Cormac Flanagan


Archive | 2007

Explicit names without -equivalence: Simple type soundness for a CEK semantics.

Kenneth Knowles; Cormac Flanagan

Collaboration


Dive into the Kenneth Knowles's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Aaron Tomb

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Dustin Rhodes

University of California

View shared research outputs
Top Co-Authors

Avatar

Jaeheon Yi

University of California

View shared research outputs
Top Co-Authors

Avatar

Thomas Schmitz

University of California

View shared research outputs
Researchain Logo
Decentralizing Knowledge