Derek dreyer thesis

English, French, Georgian, German, Russian and a few other languages, e. Laz This bibliography was compiled using online bibliographical databases such as Google Booksthe Online Computer Library Center's " WorldCat " database, or the excellent Advanced Book Exchange website and from several works to be found in this list — e. Professor Kevin Tuite's University of Montreal online bibliography was also particularly useful, as was Mr. Amjad Jaimoukha's extraordinary North Caucasian Bibliography "More than 3, references, including some links to on-line books, articles and documents".

Derek dreyer thesis

Pierce and Aaron Roth Citation: A correspondence between two different probabilistic programs or two runs of the same program requires the specification of the c orrelation between corresponding pairs of random draws and then extending this coupling on samples to a coupling on the resulting output distributions, which can then be used to establish the desired property on the programs.

As Probabilistic Relation al Hoare Logic has just the right structure to be able to formally encode these coupling arguments, the thesis analyzes the structure of these arguments through this formal lens, justifying the attractiveness of the coupling approach in terms of compo sitionality.

It then considers an enriched logic and its connection to approximate couplings, which in turn are directly connected to differential privacy. Working in this logic, it gives novel proofs of some key constructions from differential priv acy, including the exponential and sparse vector mechanisms.

The proof for sparse vector is the first ever to be carried out in a machine-checkable form. Taken together, these results constitute a significant advance in our ability to mechanize key properties of important randomized algorithms such as those found in the differential privacy literature.

This thesis proposes abstractions and formal tools to develop correct LLVM peephole optimizations.

SFlab: Publications

A domain specific language DSL Alive enables the specification and verification of peephole optimizations. An Alive transformation is shown to be correct automatically by encoding the transformation and correctness criteria as constraints in first-order logic, which are automatically checked for validity using an SMT solver.

Peephole optimizations in LLVM are executed numerous times until no optimization is applicable and one optimization could undo the effect of the other resulting in non-terminating compilation. A novel algorithm based on directed-acyclic-graph DAG composition determines whether such non-termination bugs can occur with a suite of peephole optimizations.

The Alive toolkit can generate concrete input to demonstrate non-termination as well as automatically generating weakest preconditions. It is actively used by the LLVM community and has detected numerous bugs in existing passes and is preventing bugs from being added to the compiler. Mike Gordon and Magnus Myreen Citation: This thesis establishes end-to-end verification with a comprehensive chain of connections all the way from the semantics of a theorem prover expressed in set theory down to x86 machine code running it.

It also makes striking use of self-application for both the compiler and the theorem prover.

Derek dreyer thesis

But more than that: Not only is this a compelling demonstration of the possibilities for formally correct software, and the promise of the CakeML system as an enabling technology for it, but gives perhaps the first really convincing correctness proof for the core of a higher-order logic interactive theorem prover.

It is possible that this combination of theorem prover and formally verified path to machine code will become one of the primary platforms for developing high-assurance software.

This thesis proposes a new solution for the problem of concurrent program verification introducing the use of explicitly parallel models and logics to represent and reason about concurrent programs. An effective way of finding a sweet spot in the cost-precision spectrum is provided, weaving together the two steps of constraint generation and cons traint resolution, offering a new way to think about proofs of concurrent programs.

Automated verification of imperative data structures such as lists is challenging because of the need to define complex loop invariants that have a sensible interpretation in an underlying program logic.

This thesis presents a number of foundational results that greatly simplify the proof obligations that must be provided by the programmer for the verification of such programs.

Through the introduction and application of concepts such as deterministic transitive closure and property-directed reachability, the thesis demonstrates the feasibility of using a decidable logic EPR as an effective basis for answering reachability queries on an expressive class of imperative list-manipulating programs.

The thesis also extends these foundational ideas to define modular principles for reasoning about imperative data structures across procedure boundaries.

Research - Filip Sieczkowski — homepage

These contributions ultimately lead to a system that can effectively infer loop invariants from an expressive template family using existing SAT solver and shape analysis technology.

Collectively, these results lead to a thesis that makes very important foundational and practical contributions to our understanding of the potential of automated program verification and its application to real-world programs.

The language and its accompanying metatheory introduce two important innovations. The first, and more technical, of these is the design of a core language combining a call-by-value evaluation order, a pragmatically motivated treatment of computational irrelevance to support compilation to efficient machine codeand a novel treatment of propositional equality.

This beautiful thesis will be a cornerstone of a new generation of language designs supporting significantly more robust and reliable software development. Using software tools to explore the consequences of the design, derived directly from the mathematics, it showed that it has the desired behavior on many examples, and developed mechanized proofs that the design meets some of the original goals, showing that for programs in various subsets of the language one can reason in simpler models.

Third, the dissertation develops powerful theoretical foundations—based on logical relations and separation logic—for verifying the correctness of scalable concurrent algorithms via contextual refinement.

The members of the award committee were impressed with both the breadth and depth of the work, as well as the elegance of the exposition.to Solve Electromagnetic Method of Moments Problems.

Scholarship & Criticism

Renier Lambertus Dreyer A thesis submitted to the Faculty of Engineering, University of the Witwatersrand, Dr. Derek Nitch, for providing insight into the workings of SuperNEC and iterative techniques in general.

Mentions of the Harry Potter Bibliography "Since , Cornelia Rémi has maintained an up-to-date and marvelously informative website of international scholarship, symposia, sources, [ ] which attests to the ever-growing, worldwide attention being given to this literature and the vast sea of literary productions emerging from that attention.".

Recursive type generativity DEREK DREYER Toyota Technological Institute, Chicago, IL , USA of recursive type generativity that resolves this problem.

The basic idea is to separate the 2 For a more realistic example, see Chapter 5 of Dreyer’s thesis . BibTeX @MISC{Dreyer05understandingand, author = {Derek Dreyer and Peter Lee}, title = {Understanding and Evolving the ML Module System (Thesis Summary. Ethiopia - Itm Scandinabian Impression, Dokyniels LAN, Trio Montmart, Nils Dorkey Trio The Three Little Pigs, Moira Butterfield At School, James Nixon Tricks, Scams and Practical Jokes, Geoff Tibballs Working Indie - The .

List of computer science publications by Derek Dreyer.

Neelakantan R. Krishnaswami