Denotational semantics: a methodology for language development
Denotational semantics: a methodology for language development
An ideal model for recursive polymorphic types
Information and Control
Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
A framework for defining logics
Journal of the ACM (JACM)
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From system F to typed assembly language
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A semantic model of types and machine instructions for proof-carrying code
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A certifying compiler for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Relational Interpretations of Recursive Types in an operational Setting (Summary)
TACS '97 Proceedings of the Third International Symposium on Theoretical Aspects of Computer Software
Effective Models of Polymorphism, Subtyping and Recursion (Extended Abstract)
ICALP '96 Proceedings of the 23rd International Colloquium on Automata, Languages and Programming
Stack-Based Typed Assembly Language
TIC '98 Proceedings of the Second International Workshop on Types in Compilation
Elf: A Meta-Language for Deductive Systems (System Descrition)
CADE-12 Proceedings of the 12th International Conference on Automated Deduction
Machine Instruction Syntax and Semantics in Higher Order Logic
CADE-17 Proceedings of the 17th International Conference on Automated Deduction
Compiling with proofs
A provably sound TAL for back-end optimization
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Foundational proof checkers with small witnesses
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Semantic types: a fresh look at the ideal model for types
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Syntactic Approach to Foundational Proof-Carrying Code
Journal of Automated Reasoning
Journal of Automated Reasoning
A sound (and complete) model of contracts
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
The open verifier framework for foundational verifiers
TLDI '05 Proceedings of the 2005 ACM SIGPLAN international workshop on Types in languages design and implementation
A bisimulation for type abstraction and recursion
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A step-indexed model of substructural state
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Frame rules from answer types for code pointers
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Certified assembly programming with embedded code pointers
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compositional type systems for stack-based low-level languages
CATS '06 Proceedings of the 12th Computing: The Australasian Theroy Symposium - Volume 51
Sound and complete models of contracts
Journal of Functional Programming
Expressing heap-shape contracts in linear logic
Proceedings of the 5th international conference on Generative programming and component engineering
A very modal model of a modern, major, general type system
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An open framework for foundational proof-carrying code
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
Free Theorems and Runtime Type Representations
Electronic Notes in Theoretical Computer Science (ENTCS)
Syntactic Logical Relations for Polymorphic and Recursive Types
Electronic Notes in Theoretical Computer Science (ENTCS)
A compositional natural semantics and Hoare logic for low-level languages
Theoretical Computer Science
Formalizing and verifying semantic type soundness of a simple compiler
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
A bisimulation for type abstraction and recursion
Journal of the ACM (JACM)
Imperative self-adjusting computation
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 2008 ACM symposium on Applied computing
Tutorial Examples of the Semantic Approach to Foundational Proof-Carrying Code
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
L3: A Linear Language with Locations
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
Multimodal Separation Logic for Reasoning About Operational Semantics
Electronic Notes in Theoretical Computer Science (ENTCS)
Unifying type checking and property checking for low-level code
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
State-dependent representation independence
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiling functional types to relational specifications for low level imperative code
Proceedings of the 4th international workshop on Types in language design and implementation
Relational parametricity for references and recursive types
Proceedings of the 4th international workshop on Types in language design and implementation
Biorthogonality, step-indexing and compiler correctness
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Termination checking without using an ordering relation
SEA '07 Proceedings of the 11th IASTED International Conference on Software Engineering and Applications
Weak updates and separation logic
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
A relational modal logic for higher-order stateful ADTs
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantic foundations for typed assembly languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
A verified framework for higher-order uncurrying optimizations
Higher-Order and Symbolic Computation
Logical bisimulations and functional languages
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
Typing termination in a higher-order concurrent imperative language
Information and Computation
CSL'09/EACSL'09 Proceedings of the 23rd CSL international conference and 18th EACSL Annual conference on Computer science logic
A complete, co-inductive syntactic theory of sequential control and state
Semantics and algebraic specification
Parametricity, type equality, and higher-order polymorphism
Journal of Functional Programming
The impact of higher-order state and control effects on local relational reasoning
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Distance makes the types grow stronger: a calculus for differential privacy
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Environmental bisimulations for higher-order languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Step-indexed kripke models over recursive worlds
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A kripke logical relation between ML and assembly
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Certification of thread context switching
Journal of Computer Science and Technology
Hoare logic for higher order store using simple semantics
WoLLIC'11 Proceedings of the 18th international conference on Logic, language, information and computation
From Applicative to Environmental Bisimulation
Electronic Notes in Theoretical Computer Science (ENTCS)
A typed, compositional logic for a stack-based abstract machine
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
The marriage of bisimulations and Kripke logical relations
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CSL'06 Proceedings of the 20th international conference on Computer Science Logic
Journal of Functional Programming - Dedicated to ICFP 2009
A compositional logic for control flow
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
A tutorial example of the semantic approach to foundational proof-carrying code
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
Step-Indexed syntactic logical relations for recursive and quantified types
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
Tutorial Examples of the Semantic Approach to Foundational Proof-Carrying Code
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
L$^3$: A Linear Language with Locations
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
Causality for free!: parametricity implies causality for functional reactive programs
PLPV '13 Proceedings of the 7th workshop on Programming languages meets program verification
Mechanized semantics for compiler verification
CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
High-level separation logic for low-level code
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Mixin’ Up the ML Module System
ACM Transactions on Programming Languages and Systems (TOPLAS)
Higher-order functional reactive programming without spacetime leaks
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Productive coprogramming with guarded recursion
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Compositional type systems for stack-based low-level languages
CATS '06 Proceedings of the Twelfth Computing: The Australasian Theory Symposium - Volume 51
Probabilistic relational verification for cryptographic implementations
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Combining proofs and programs in a dependently typed language
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
The proofs of "traditional" proof carrying code (PCC) are type-specialized in the sense that they require axioms about a specific type system. In contrast, the proofs of foundational PCC explicitly define all required types and explicitly prove all the required properties of those types assuming only a fixed foundation of mathematics such as higher-order logic. Foundational PCC is both more flexible and more secure than type-specialized PCC.For foundational PCC we need semantic models of type systems on von Neumann machines. Previous models have been either too weak (lacking general recursive types and first-class function-pointers), too complex (requiring machine-checkable proofs of large bodies of computability theory), or not obviously applicable to von Neumann machines. Our new model is strong, simple, and works either in λ-calculus or on Pentiums.