Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Program fragments, linking, and modularization
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-safe linking and modular assembly language
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From system F to typed assembly language
ACM Transactions on Programming Languages and Systems (TOPLAS)
A critique of the foundations of Hoare style programming logics
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
An indexed model of recursive types for foundational proof-carrying code
ACM Transactions on Programming Languages and Systems (TOPLAS)
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-Carrying Code
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Typed machine language
A compositional logic for control flow and its application in foundational proof-carrying code
A compositional logic for control flow and its application in foundational proof-carrying code
Certified assembly programming with embedded code pointers
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A typed, compositional logic for a stack-based abstract machine
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
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
A compositional natural semantics and Hoare logic for low-level languages
Theoretical Computer Science
Shape analysis with inductive recursion synthesis
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Compilation as Rewriting in Higher Order Logic
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Multimodal Separation Logic for Reasoning About Operational Semantics
Electronic Notes in Theoretical Computer Science (ENTCS)
Hoare type theory, polymorphism and separation1
Journal of Functional Programming
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
Verified just-in-time compiler on x86
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)
Hoare logic for realistically modelled machine code
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Hoare logic for ARM machine code
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
An approach to formal verification of arithmetic functions in assembly
ASIAN'06 Proceedings of the 11th Asian computing science conference on Advances in computer science: secure software and related issues
Correctness proofs for device drivers in embedded systems
SSV'10 Proceedings of the 5th international conference on Systems software verification
ARMor: fully verified software fault isolation
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
Certifying assembly programs with trails
Frontiers of Computer Science in China
Program logics for sequential higher-order control
FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
Certifying assembly with formal security proofs: The case of BBS
Science of Computer Programming
High-level separation logic for low-level code
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Hoare-style reasoning with (algebraic) continuations
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
On construction of a library of formally verified low-level arithmetic functions
Innovations in Systems and Software Engineering
Coq: the world's best macro assembler?
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Hi-index | 0.00 |
We present a program logic, $\mathcal{L}_{c}$, which modularly reasons about unstructured control flow in machine-language programs. Unlike previous program logics, the basic reasoning units in $\mathcal{L}_{c}$ are multiple-entry and multiple-exit program fragments. $\mathcal{L}_{c}$ provides fine-grained composition rules to compose program fragments. It is not only useful for reasoning about unstructured control flow in machine languages, but also useful for deriving rules for common control-flow structures such as while-loops, repeat-until-loops, and many others. We also present a semantics for $\mathcal{L}_{c}$ and prove that the logic is both sound and complete with respect to the semantics. As an application, $\mathcal{L}_{c}$ and its semantics have been implemented on top of the $\mathcal{L}_{c}$ machine language, and are embedded in the Foundational Proof-Carrying Code project to produce memory-safety proofs for machine-language programs.