Network


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

Hotspot


Dive into the research topics where Georg Neis is active.

Publication


Featured researches published by Georg Neis.


international conference on functional programming | 2015

Pilsner: a compositionally verified compiler for a higher-order imperative language

Georg Neis; Chung-Kil Hur; Jan-Oliver Kaiser; Craig McLaughlin; Derek Dreyer; Viktor Vafeiadis

Compiler verification is essential for the construction of fully verified software, but most prior work (such as CompCert) has focused on verifying whole-program compilers. To support separate compilation and to enable linking of results from different verified compilers, it is important to develop a compositional notion of compiler correctness that is modular (preserved under linking), transitive (supports multi-pass compilation), and flexible (applicable to compilers that use different intermediate languages or employ non-standard program transformations). In this paper, building on prior work of Hur et al., we develop a novel approach to compositional compiler verification based on parametric inter-language simulations (PILS). PILS are modular: they enable compiler verification in a manner that supports separate compilation. PILS are transitive: we use them to verify Pilsner, a simple (but non-trivial) multi-pass optimizing compiler (programmed in Coq) from an ML-like source language S to an assembly-like target language T, going through a CPS-based intermediate language. Pilsner is the first multi-pass compiler for a higher-order imperative language to be compositionally verified. Lastly, PILS are flexible: we use them to additionally verify (1) Zwickel, a direct non-optimizing compiler for S, and (2) a hand-coded self-modifying T module, proven correct w.r.t. an S-level specification. The output of Zwickel and the self-modifying T module can then be safely linked together with the output of Pilsner. All together, this has been a significant undertaking, involving several person-years of work and over 55,000 lines of Coq.


conference on object-oriented programming systems, languages, and applications | 2011

Self-adjusting stack machines

Matthew A. Hammer; Georg Neis; Yan Chen; Umut A. Acar

Self-adjusting computation offers a language-based approach to writing programs that automatically respond to dynamically changing data. Recent work made significant progress in developing sound semantics and associated implementations of self-adjusting computation for high-level, functional languages. These techniques, however, do not address issues that arise for low-level languages, i.e., stack-based imperative languages that lack strong type systems and automatic memory management. In this paper, we describe techniques for self-adjusting computation which are suitable for low-level languages. Necessarily, we take a different approach than previous work: instead of starting with a high-level language with additional primitives to support self-adjusting computation, we start with a low-level intermediate language, whose semantics is given by a stack-based abstract machine. We prove that this semantics is sound: it always updates computations in a way that is consistent with full reevaluation. We give a compiler and runtime system for the intermediate language used by our abstract machine. We present an empirical evaluation that shows that our approach is efficient in practice, and performs favorably compared to prior proposals.


symposium on principles of programming languages | 2013

The power of parameterization in coinductive proof

Chung-Kil Hur; Georg Neis; Derek Dreyer; Viktor Vafeiadis


symposium on principles of programming languages | 2012

The marriage of bisimulations and Kripke logical relations

Chung-Kil Hur; Derek Dreyer; Georg Neis; Viktor Vafeiadis


symposium on principles of programming languages | 2010

A relational modal logic for higher-order stateful ADTs

Derek Dreyer; Georg Neis; Andreas Rossberg; Lars Birkedal


Journal of Functional Programming | 2012

The impact of higher-order state and control effects on local relational reasoning

Derek Dreyer; Georg Neis; Lars Birkedal


Journal of Functional Programming | 2011

Non-parametric parametricity

Georg Neis; Derek Dreyer; Andreas Rossberg


Archive | 2014

A Logical Step Forward in Parametric Bisimulations

Chung-Kil Hur; Georg Neis; Derek Dreyer; Victor Vafeiadis


Archive | 2012

The Transitive Composability of Relation Transition Systems

Chung-Kil Hur; Georg Neis; Derek Dreyer; Viktor Vafeiadis

Collaboration


Dive into the Georg Neis's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Chung-Kil Hur

Seoul National University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Umut A. Acar

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge