Deep specifications and certified abstraction layers

R Gu, J Koenig, T Ramananandro, Z Shao, X Wu… - ACM SIGPLAN …, 2015 - dl.acm.org
Modern computer systems consist of a multitude of abstraction layers (eg, OS kernels,
hypervisors, device drivers, network protocols), each of which defines an interface that hides …

Local action and abstract separation logic

C Calcagno, PW O'Hearn… - 22nd Annual IEEE …, 2007 - ieeexplore.ieee.org
Separation logic is an extension of Hoare's logic which supports a local way of reasoning
about programs that mutate memory. We present a study of the semantic structures lying …

Mechanized verification of fine-grained concurrent programs

I Sergey, A Nanevski, A Banerjee - Proceedings of the 36th ACM …, 2015 - dl.acm.org
Efficient concurrent programs and data structures rarely employ coarse-grained
synchronization mechanisms (ie, locks); instead, they implement custom synchronization …

Separation and information hiding

PW O'Hearn, H Yang, JC Reynolds - … of the 31st ACM SIGPLAN-SIGACT …, 2004 - dl.acm.org
We investigate proof rules for information hiding, using the recent formalism of separation
logic. In essence, we use the separating conjunction to partition the internal resources of a …

Programming and proving with distributed protocols

I Sergey, JR Wilcox, Z Tatlock - … of the ACM on Programming Languages, 2017 - dl.acm.org
Distributed systems play a crucial role in modern infrastructure, but are notoriously difficult to
implement correctly. This difficulty arises from two main challenges:(a) correctly …

Ynot: dependent types for imperative programs

A Nanevski, G Morrisett, A Shinnar… - Proceedings of the 13th …, 2008 - dl.acm.org
We describe an axiomatic extension to the Coq proof assistant, that supports writing,
reasoning about, and extracting higher-order, dependently-typed programs with side-effects …

Parameterised notions of computation

R Atkey - Journal of functional programming, 2009 - cambridge.org
Moggi's Computational Monads and Power et al.'s equivalent notion of Freyd category have
captured a large range of computational effects present in programming languages …

HLIO: Mixing static and dynamic typing for information-flow control in Haskell

P Buiras, D Vytiniotis, A Russo - Proceedings of the 20th ACM SIGPLAN …, 2015 - dl.acm.org
Information-Flow Control (IFC) is a well-established approach for allowing untrusted code to
manipulate sensitive data without disclosing it. IFC is typically enforced via type systems and …

Toward a verified relational database management system

G Malecha, G Morrisett, A Shinnar… - Proceedings of the 37th …, 2010 - dl.acm.org
We report on our experience implementing a lightweight, fully verified relational database
management system (RDBMS). The functional specification of RDBMS behavior, RDBMS …

Step-indexed Kripke models over recursive worlds

L Birkedal, B Reus, J Schwinghammer… - ACM SIGPLAN …, 2011 - dl.acm.org
Over the last decade, there has been extensive research on modelling challenging features
in programming languages and program logics, such as higher-order store and storable …