Proceedings of the 24th 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
Oracle-based checking of untrusted software
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A compiled implementation of strong reduction
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Theoretical Computer Science - Foundations of software science and computation structures
Efficient Representation and Validation of Proofs
LICS '98 Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science
A Sound Framework for Untrusted Verification-Condition Generators
LICS '03 Proceedings of the 18th Annual IEEE Symposium on Logic in Computer Science
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
Foundational Proof-Carrying Code
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Foundational proof checkers with small witnesses
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Lightweight Bytecode Verification
Journal of Automated Reasoning
The open verifier framework for foundational verifiers
TLDI '05 Proceedings of the 2005 ACM SIGPLAN international workshop on Types in languages design and implementation
Formal certification of a compiler back-end or: programming a compiler with a proof assistant
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Mobile resource guarantees for smart devices
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Certifying a Tree Automata Completion Checker
IJCAR '08 Proceedings of the 4th international joint conference on Automated Reasoning
The MOBIUS Proof Carrying Code Infrastructure
Formal Methods for Components and Objects
Certification Using the Mobius Base Logic
Formal Methods for Components and Objects
Modular development of certified program verifiers with a proof assistant1,2
Journal of Functional Programming
Nested Proof Compilation and Proof Checking in Universal Pattern Logic
RSKT '09 Proceedings of the 4th International Conference on Rough Sets and Knowledge Technology
A Verifiable, Control Flow Aware Constraint Analyzer for Bounds Check Elimination
SAS '09 Proceedings of the 16th International Symposium on Static Analysis
A certified lightweight non-interference java bytecode verifier
ESOP'07 Proceedings of the 16th European conference on Programming
Small witnesses for abstract interpretation-based proofs
ESOP'07 Proceedings of the 16th European conference on Programming
Fast reflexive arithmetic tactics the linear case and beyond
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
Combining a verification condition generator for a bytecode language with static analyses
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
A provably correct stackless intermediate representation for Java bytecode
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
Flow sensitive-insensitive pointer analysis based memory safety for multithreaded programs
ICCSA'11 Proceedings of the 2011 international conference on Computational science and Its applications - Volume Part V
Generating Invariant-Based Certificates for Embedded Systems
ACM Transactions on Embedded Computing Systems (TECS)
A certificate infrastructure for machine-checked proofs of conditional information flow
POST'12 Proceedings of the First international conference on Principles of Security and Trust
A formally-verified alias analysis
CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
Proofs you can believe in: proving equivalences between Prolog semantics in Coq
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Hi-index | 0.00 |
Proof-carrying code (PCC) is a technique for downloading mobile code on a host machine while ensuring that the code adheres to the host's safety policy. We show how certified abstract interpretation can be used to build a PCC architecture where the code producer can produce program certificates automatically. Code consumers use proof checkers derived from certified analysers to check certificates. Proof checkers carry their own correctness proofs and accepting a new proof checker amounts to type checking the checker in Coq. Certificates take the form of strategies for reconstructing a fixpoint and are kept small due to a technique for fixpoint compression. The PCC architecture has been implemented and evaluated experimentally on a byte code language for which we have designed an interval analysis that allows to generate certificates ascertaining that no array-out-of-bounds accesses will occur.