Network


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

Hotspot


Dive into the research topics where Noah Torp-Smith is active.

Publication


Featured researches published by Noah Torp-Smith.


ACM Transactions on Programming Languages and Systems | 2008

Local reasoning about a copying garbage collector

Noah Torp-Smith; Lars Birkedal; John C. Reynolds

We present a programming language, model, and logic appropriate for implementing and reasoning about a memory management system. We state semantically what is meant by correctness of a copying garbage collector, and employ a variant of the novel separation logics to formally specify partial correctness of Cheneys copying garbage collector in our program logic. Finally, we prove that our implementation of Cheneys algorithm meets its specification using the logic we have given and auxiliary variables.


logic in computer science | 2005

Semantics of separation-logic typing and higher-order frame rules

Lars Birkedal; Noah Torp-Smith; Hongseok Yang

We show how to give a coherent semantics to programs that are well-specified in a version of separation logic for a language with higher types: idealized algol extended with heaps (but with immutable stack variables). In particular, we provide simple sound rules for deriving higher-order frame rules, allowing for local reasoning.


european symposium on programming | 2005

BI hyperdoctrines and higher-order separation logic

Bodil Biering; Lars Birkedal; Noah Torp-Smith

We present a precise correspondence between separation logic and a new simple notion of predicate BI, extending the earlier correspondence given between part of separation logic and propositional BI [14]. Moreover, we introduce the notion of a BI hyperdoctrine and show that it soundly models classical and intuitionistic first- and higher-order predicate BI, and use it to show that we may easily extend separation logic to higher-order. We argue that the given correspondence may be of import for formalizations of separation logic.


Logical Methods in Computer Science | 2006

Semantics of Separation-Logic Typing and Higher-order Frame Rules for Algol-like Languages

Lars Birkedal; Noah Torp-Smith; Hongseok Yang

We show how to give a coherent semantics to programs that are well-specified in a version of separation logic for a language with higher types: idealized algol extended with heaps (but with immutable stack variables). In particular, we provide simple sound rules for deriving higher-order frame rules, allowing for local reasoning.


foundations of software technology and theoretical computer science | 2004

Refinement and separation contexts

Ivana Mijajlović; Noah Torp-Smith; Peter W. O’Hearn

A separation context is a client program which does not dereference internals of a module with which it interacts. We use certain “precise” relations to unambiguously describe the storage of a module and prove that separation contexts preserve such relations. We also show that a simulation theorem holds for separation contexts, while this is not the case for arbitrary client programs.


Formal Aspects of Computing | 2010

Blaming the client: on data refinement in the presence of pointers

Ivana Filipović; Peter O’Hearn; Noah Torp-Smith; Hongseok Yang

Data refinement is a common approach to reasoning about programs, based on establishing that a concrete program indeed satisfies all the required properties imposed by an intended abstract pattern. Reasoning about programs in this setting becomes complex when use of pointers is assumed and, moreover, a well-known method for proving data refinement, namely the forward simulation method, becomes unsound in presence of pointers. The reason for unsoundness is the failure of the “lifting theorem” for simulations: that a simulation between abstract and concrete modules can be lifted to all client programs. The result is that simulation does not imply that a concrete can replace an abstract module in all contexts. Our diagnosis of this problem is that unsoundness is due to interference from the client programs. Rather than blame a module for the unsoundness of lifting simulations, our analysis places the blame on the client programs which cause the interference: when interference is not present, soundness is recovered. Technically, we present a novel instrumented semantics which is capable of detecting interference between a module and its client. With use of special simulation relations, namely growing relations, and interpreting the simulation method using the instrumented semantics, we obtain a lifting theorem. We then show situations under which simulation does indeed imply refinement.


ACM Transactions on Programming Languages and Systems | 2005

Higher-Order Separation Logic and Abstraction

Lars Birkedal; Noah Torp-Smith


Archive | 2003

Correctness of a Garbage Collector via Local Reasoning

Lars Birkedal; Noah Torp-Smith; John C. Reynolds


european symposium on programming | 2007

BI-hyperdoctrines, higher-order separation logic, and abstraction

Bodil Biering; Lars Birkedal; Noah Torp-Smith


Archive | 2005

Short Presentation: Abstracting Allocation: The New new Thing

Nick Benton; Noah Torp-Smith

Collaboration


Dive into the Noah Torp-Smith's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Bodil Biering

IT University of Copenhagen

View shared research outputs
Top Co-Authors

Avatar

John C. Reynolds

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ivana Mijajlović

Queen Mary University of London

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Peter W. O’Hearn

Queen Mary University of London

View shared research outputs
Researchain Logo
Decentralizing Knowledge