Initial Algebra Semantics and Continuous Algebras
Journal of the ACM (JACM)
Ten Years of Hoare's Logic: A Survey—Part I
ACM Transactions on Programming Languages and Systems (TOPLAS)
An axiomatic basis for computer programming
Communications of the ACM
EULER: a generalization of ALGOL, and its formal definition: Part II
Communications of the ACM
Advice on structuring compilers and proving them correct
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Compiler Specification and Verification
Compiler Specification and Verification
The Denotational Description of Programming Languages: An Introduction
The Denotational Description of Programming Languages: An Introduction
Guide to PL-M Programming for Microcomputer Applications
Guide to PL-M Programming for Microcomputer Applications
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
On the Translation of Procedures to Finite Machines
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Rigorous Compiler Implementation Correctness: How to Prove the Real Thing Correct
FM-Trends 98 Proceedings of the International Workshop on Current Trends in Applied Formal Method: Applied Formal Methods
On Excusable and Inexcusable Failures
FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume II
Formally Linking MDG and HOL Based on a Verified MDG System
IFM '02 Proceedings of the Third International Conference on Integrated Formal Methods
A Mechanically Verified Compiling Specification for a Lisp Compiler
FST TCS '01 Proceedings of the 21st Conference on Foundations of Software Technology and Theoretical Computer Science
Formal Verification of Dead Code Elimination in Isabelle/HOL
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
Providing a formal linkage between MDG and HOL
Formal Methods in System Design
Pervasive Compiler Verification -- From Verified Programs to Verified Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Science of Computer Programming
A Formally Verified Compiler Back-end
Journal of Automated Reasoning
What Level of Mathematical Reasoning can Computer Science Demand of a Software Implementer?
Electronic Notes in Theoretical Computer Science (ENTCS)
On trojan horses of thompson-goerigk-type, their generation, intrusion, detection and prevention
Concurrency, Compositionality, and Correctness
Hi-index | 0.00 |
Aspect of the interaction between compiler theory and practice is addressed. Presented is a technique for the syntax-directed specification of compilers together with a method for proving the correctness of their parse-driven implementations. The subject matter is presented in an order-algebraic framework; while not strictly necessary, this approach imposes beneficial structure and modularity on the resulting specifications and implementation correctness proofs. Compilers are specified using an order-algebraic definition of attribute grammars. A practical class of compiler implementations is considered, consisting of those driven by LR(k) or LL(k) parsers which cause a sequence of translation routine activations to modify a suitably initialized collection of data structures (called a translation environment). The implementation correctness criterion consists of appropriately comparing, for each source program, the corresponding object program (contained in the final translation environment) produced by the compiler implementation to the object program dictated by the compiler specification. Provided that suitable intermediate assertions (called translation invariants) are supplied, the program consisting of the (parse-induced) sequence of translation routine activations can be proven partially correct via standard inductive assertion methods.