Filters








23,779 Hits in 3.3 sec

Mechanized Semantics for Compiler Verification [chapter]

Xavier Leroy
2012 Lecture Notes in Computer Science  
The formal verification of compilers and related programming tools depends crucially on the availability of appropriate mechanized semantics for the source, intermediate and target languages.  ...  In this invited talk, I review various forms of operational semantics and their mechanization, based on my experience with the formal verification of the CompCert C compiler.  ...  exposing the need for new approaches and mechanizations.  ... 
doi:10.1007/978-3-642-35182-2_27 fatcat:l5xttazukbg3zkniaxu5dqysme

Mechanized Semantics for Compiler Verification [chapter]

Xavier Leroy
2012 Lecture Notes in Computer Science  
The formal verification of compilers and related programming tools depends crucially on the availability of appropriate mechanized semantics for the source, intermediate and target languages.  ...  In this invited talk, I review various forms of operational semantics and their mechanization, based on my experience with the formal verification of the CompCert C compiler.  ...  exposing the need for new approaches and mechanizations.  ... 
doi:10.1007/978-3-642-35308-6_2 fatcat:fkgmhcapq5cn7bteieddyqql7i

Verified squared

Xavier Leroy
2011 SIGPLAN notices  
The formal verification of programs have progressed tremendously in the last decade.  ...  Principled but once academic approaches such as Hoare logic and abstract interpretation finally gave birth to quality verification tools, operating over source code (and not just idealized models thereof  ...  An obvious alternative is compiler verification: apply mechanized program proof to the compiler itself and prove semantic preservation (the generated code behaves as prescribed by the semantics of the  ... 
doi:10.1145/1925844.1926387 fatcat:igdwry5xznbexench47525hjcm

Verified squared

Xavier Leroy
2011 Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '11  
The formal verification of programs have progressed tremendously in the last decade.  ...  Principled but once academic approaches such as Hoare logic and abstract interpretation finally gave birth to quality verification tools, operating over source code (and not just idealized models thereof  ...  An obvious alternative is compiler verification: apply mechanized program proof to the compiler itself and prove semantic preservation (the generated code behaves as prescribed by the semantics of the  ... 
doi:10.1145/1926385.1926387 dblp:conf/popl/Leroy11 fatcat:3vpikqg2fbgnpkd4lxfwqskv24

Formal Proofs of Code Generation and Verification Tools [chapter]

Xavier Leroy
2014 Lecture Notes in Computer Science  
A radical solution to these two risks is the deductive verification of compilers and verification tools themselves.  ...  Formal verification of compilers, static analyzers, and related tools provides a radical, mathematically-grounded answer to  ...  For compilers and code generators, the high-level correctness statement is semantic preservation: every execution of the generated code matches one of the executions of the source code allowed by the semantics  ... 
doi:10.1007/978-3-319-10431-7_1 fatcat:qbj2jm72gfdy5crez3seavzys4

Modular Verification for Computer Security

Andrew W. Appel
2016 2016 IEEE 29th Computer Security Foundations Symposium (CSF)  
Several recent projects have demonstrated that formal, deductive functional-correctness verification is now possible for kernels, crypto, and compilers.  ...  But the protection mechanisms themselves must then be verified not just for safety but for functional correctness.  ...  Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright notation thereon.  ... 
doi:10.1109/csf.2016.8 dblp:conf/csfw/Appel16 fatcat:7667qxql2ne5dapggwi76wrryq

Provably correct compiler development and implementation [chapter]

Bettina Buth, Karl-Heinz Buth, Martin Fränzle, Burghard Karger, Yassine Lakhneche, Hans Langmaack, Markus Müller-Olm
1992 Lecture Notes in Computer Science  
The first covers semantical correctness of the code to be generated, whereas the second concerns correctness of the compiler program with respect to the specification.  ...  The compiler construction framework presented aims at minimizing the amount of handcoding during implementation and at reusing specification correctness arguments for proving the implementation correct  ...  But in absence of verified compilers and interpreters, the execution mechanism for CIL may not agree with the formal semantics and thus, executing the compiler on the CIL execution mechanism may yield  ... 
doi:10.1007/3-540-55984-1_14 fatcat:2uxcim2kjbb6tjbqz4jfqeuaqu

Cross-Platform Verification Framework for Embedded Systems [chapter]

Ingomar Wenzel, Raimund Kirner, Bernhard Rieder, Peter Puschner
2007 Lecture Notes in Computer Science  
Additionally, formal verification can be applied for checking requirements resulting from the specification using the same model generation mechanism that is used for test data generation.  ...  We perform structural tests on industrial code patterns using a wide-spread industrial compiler.  ...  The model generation mechanism that is used for test data generation can be also used for formal verification.  ... 
doi:10.1007/978-3-540-75664-4_14 fatcat:a4umw2o7qzhbroufabwsxoxg6q

What Level of Mathematical Reasoning can Computer Science Demand of a Software Implementer?

Hans Langmaack
2005 Electronical Notes in Theoretical Computer Science  
One very complex cooperational task has been construction of a so called initial correct compiler for a realistic high level programming (and compiler writing) language correctly implemented and executed  ...  The article starts out from the observation that software engineering splits in two large activity areas: Software specification with its verification and software implementation with its verification.  ...  and so for low level compiler implementation verification: hand.  ... 
doi:10.1016/j.entcs.2005.05.007 fatcat:margqazqdfcd7os3credbsruhi

Secure Compilation (Dagstuhl Seminar 18201)

Amal Ahmed, Deepak Garg, Catalin Hritcu, Frank Piessens, Michael Wagner
2018 Dagstuhl Reports  
, and on designing security mechanisms.  ...  This seminar strived to take a broad and inclusive view of secure compilation and to provide a forum for discussion on the topic.  ...  CCC gives us insight on what is required for modular verification of multi-pass compilers.  ... 
doi:10.4230/dagrep.8.5.1 dblp:journals/dagstuhl-reports/Ahmed0HP18 fatcat:tis2hemo4je7ni3wr5z6cza3iu

A semantics driven temporal verification system [chapter]

G. D. Gough, H. Barringer
1988 Lecture Notes in Computer Science  
It can be applied, in particular, to the verification of temporal properties of concurrent and reactive systems.  ...  SMG transforms programs written in user-definable languages to suitable finite state models, thus enabling fast verification of temporal properties of the input program.  ...  This strategy of mixed compilation and interpretation will be extended for handling other common semantic entities, however the user will be given some ability to modify or override the built in mechanisms  ... 
doi:10.1007/3-540-19027-9_2 fatcat:okuk3f5cnzamtf7out7kqp25li

Keynote II: Formally verifying a compiler: Why? How? How far?

Xavier Leroy
2011 International Symposium on Code Generation and Optimization (CGO 2011)  
By applying formal methods (program proof) to the compiler itself, compiler verification proves, with mathematical certainty, that the generated executable code behaves exactly as prescribed by the semantics  ...  Why indulge in compiler verification?  ... 
doi:10.1109/cgo.2011.5764668 dblp:conf/cgo/Leroy11 fatcat:74rux5mgmjc5xpvfz7s4qvfj5i

Formal verification of an optimizing compiler

Xavier Leroy
2007 2007 5th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE 2007)  
This is "software-proof codesign" (as opposed to proving an existing compiler). The proof of semantic preservation is mechanized using the Coq proof assistant.  ...  Formally verified using Coq The correctness proof (semantic preservation) for the compiler is entirely machine-checked, using the Coq proof assistant.  ...  The only downside is a slight inefficiency in the extracted Caml code for bind: let bind f g = fun s -> match f s with | Error -> Error | OK a s' -> match g a s' with (* useless match *) | Error -> Error  ... 
doi:10.1109/memcod.2007.371254 dblp:conf/memocode/Leroy07 fatcat:uooegjfmdve5bkrd46pfq3kjsy

A Language for Building Verified Software Components [chapter]

Gregory Kulczycki, Murali Sitaraman, Joan Krone, Joseph E. Hollingsworth, William F. Ogden, Bruce W. Weide, Paolo Bucci, Charles T. Cook, Svetlana V. Drachova-Strang, Blair Durkee, Heather Harton, Wayne Heym (+6 others)
2013 Lecture Notes in Computer Science  
The language must include mechanisms for writing reusable components that are amenable to verification, and consequently must also include an open-ended mechanism for adding arbitrarily sophisticated mathematical  ...  To be trusted, such verification must go beyond extensive testing and arguments of correctness, and must come with mechanized proofs.  ...  We wish to thank our research groups for their contributions over the decades to the ideas discussed here.  ... 
doi:10.1007/978-3-642-38977-1_23 fatcat:e6ugd3hhujdpxc67tsqc77ekou

KupC: A Formal Tool for Modeling and Verifying Dynamic Updating of C Programs [chapter]

Jiaqi Qian, Min Zhang, Yi Wang, Kazuhiro Ogata
2019 Lecture Notes in Computer Science  
We formalize a patch-based dynamic updating mechanism in K based on the formal executable operational semantics of C.  ...  To our knowledge, KupC is the first formal tool for code-level verification of dynamic software updating.  ...  These rules are seamlessly compiled by K together with the rules defined for the operational semantics of C [2] .  ... 
doi:10.1007/978-3-030-16722-6_17 fatcat:p2ak6hl3vbgqlirijxfq7axkta
« Previous Showing results 1 — 15 out of 23,779 results