An ideal model for recursive polymorphic types
Information and Control
ORBIT: an optimizing compiler for scheme
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Abstract types have existential type
ACM Transactions on Programming Languages and Systems (TOPLAS)
A framework for defining logics
Journal of the ACM (JACM)
Efficient software-based fault isolation
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
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
Typed cross-module compilation
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Representing Java classes in a typed intermediate language
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
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
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
A certifying compiler for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
A type system for certified binaries
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An indexed model of recursive types for foundational proof-carrying code
ACM Transactions on Programming Languages and Systems (TOPLAS)
Checking security of Java bytecode by abstract interpretation
Proceedings of the 2002 ACM symposium on Applied computing
An expressive, scalable type theory for certified code
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Toward a foundational typed assembly language
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The logical approach to stack typing
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Automated techniques for provably safe mobile code
Theoretical Computer Science - Dependable computing
Enforcing Safety Properties Using Type Specialization
ESOP '01 Proceedings of the 10th European Symposium on Programming Languages and Systems
A Proof-Theoretic Foundation for Tabled Higher-Order Logic Programming
ICLP '02 Proceedings of the 18th International Conference on Logic Programming
Scalable Certification for Typed Assembly Language
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
Safe and Flexible Dynamic Linking of Native Code
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
Two-Level Meta-reasoning in Coq
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
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
Dependent types ensure partial correctness of theorem provers
Journal of Functional Programming
Program specialization for execution monitoring
Journal of Functional Programming
A calculus with polymorphic and polyvariant flow types
Journal of Functional Programming
A Syntactic Approach to Foundational Proof-Carrying Code
Journal of Automated Reasoning
Journal of Automated Reasoning
Heap-Bounded Assembly Language
Journal of Automated Reasoning
Polymorphic lemmas and definitions in $\lambda$Prolog and Twelf
Theory and Practice of Logic 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
Type-based verification of sssembly language for compiler debugging
TLDI '05 Proceedings of the 2005 ACM SIGPLAN international workshop on Types in languages design and implementation
A type system for certified binaries
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interactive and Probabilistic Proof of Mobile Code Safety
Automated Software Engineering
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
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
Proof-carrying code from certified abstract interpretation and fixpoint compression
Theoretical Computer Science - Applied semantics
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
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
Goal-directed weakening of abstract interpretation results
ACM Transactions on Programming Languages and Systems (TOPLAS)
XFI: software guards for system address spaces
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
Foundational certified code in the Twelf metalogical framework
ACM Transactions on Computational Logic (TOCL)
Tutorial Examples of the Semantic Approach to Foundational Proof-Carrying Code
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
Unifying type checking and property checking for low-level code
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Non-Interference Protection in BML
Electronic Notes in Theoretical Computer Science (ENTCS)
Semantic foundations for typed assembly languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
A certified lightweight non-interference java bytecode verifier
ESOP'07 Proceedings of the 16th European conference on Programming
Proof-carrying code with untrusted proof rules
ISSS'02 Proceedings of the 2002 Mext-NSF-JSPS international conference on Software security: theories and systems
Extending operational semantics of the Java bytecode
TGC'07 Proceedings of the 3rd conference on Trustworthy global computing
Automatic certification of Java source code in rewriting logic
FMICS'07 Proceedings of the 12th international conference on Formal methods for industrial critical systems
ICLP'05 Proceedings of the 21st international conference on Logic Programming
A typed, compositional logic for a stack-based abstract machine
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
CSL'06 Proceedings of the 20th international conference on Computer Science Logic
Overcoming performance barriers: efficient verification techniques for logical frameworks
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
A framework for certified program analysis and its applications to mobile-code safety
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Tabling for higher-order logic programming
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
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
Tutorial Examples of the Semantic Approach to Foundational Proof-Carrying Code
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
Hi-index | 0.00 |
Proof-carrying code is a framework for proving the safety of machine-language programs with a machine-checkable proof. Previous PCC frameworks have defined type-checking rules as part of the logic. We show a universal type framework for proof-carrying code that will allow a code producer to choose a programming language, prove the type rules for that language as lemmas in higher-order logic, then use those lemmas to prove the safety of a particular program. We show how to handle traversal, allocation, and initialization of values in a wide variety of types, including functions, records, unions, existentials, and covariant recursive types.