Filters








20,386 Hits in 5.5 sec

JaVerT: JavaScript verification toolchain

José Fragoso Santos, Petar Maksimović, Daiva Naudžiūnienė, Thomas Wood, Philippa Gardner
2017 Proceedings of the ACM on Programming Languages  
dynamic features of JavaScript; JSIL Verify, a semi-automatic verification tool based on a sound JSIL separation logic; and verified axiomatic specifications of the JavaScript internal functions.  ...  The dynamic nature of JavaScript and its complex semantics make it a difficult target for logic-based verification.  ...  We reason efficiently about the fundamental dynamic features of JavaScript using JSIL Verify (V2), the first verification tool based on separation logic to natively support such features.  ... 
doi:10.1145/3158138 dblp:journals/pacmpl/SantosMNWG18 fatcat:t6uxa2t2pjesjmdl7hwinrj74q

A Machine Checked Soundness Proof for an Intermediate Verification Language [chapter]

Frédéric Vogels, Bart Jacobs, Frank Piessens
2009 Lecture Notes in Computer Science  
In our approach, we define a formal operational semantics of the intermediate verification language, and we prove the soundness of two translations separately: (1) the translation of the intermediate verification  ...  Such verifiers split the generation of VCs in two (or even more) phases, using an intermediate verification language as the bridge between the programming language and logic.  ...  This paper focuses on the first step, and gives a small example of the second step. In Section 2, we give a short introduction to the BoogiePL intermediate verification language [4] .  ... 
doi:10.1007/978-3-540-95891-8_51 fatcat:h66mobvpxrh4pedsexmzfmtwle

Why Just Boogie? Translating Between Intermediate Verification Languages [article]

Michael Ameri, Carlo A. Furia
2016 arXiv   pre-print
The verification systems Boogie and Why3 use their respective intermediate languages to generate verification conditions from high-level programs.  ...  This paper describes a translation of Boogie into WhyML (Why3's intermediate language) that preserves semantics, verifiability, and program structure to a large degree.  ...  Other intermediate languages for verification are Pilar [23] , used in the Sireum framework for SPARK; Silver [12] , an intermediate language with native support for permissions in the style of separation  ... 
arXiv:1601.00516v2 fatcat:ep5h32oa55bqvik4wdbufhnxui

A general formal memory framework in Coq for verifying the properties of programs based on higher-order logic theorem proving with increased automation, consistency, and reusability [article]

Zheng Yang, Hang Lei
2018 arXiv   pre-print
We also implement a toy functional programming language in a generalized algebraic datatypes style and a formal interpreter in Coq based on the GERM framework.  ...  In recent years, a number of lightweight programs have been deployed in critical domains, such as in smart contracts based on blockchain technology.  ...  Appel and Blazy [32] later developed a mechanized separation logic for a C-based intermediate language in Coq. Manson et al. [29] developed a Java memory model.  ... 
arXiv:1803.00403v3 fatcat:jpgpzx5zxnbpbpzfdj7kowgee4

A Polymorphic Intermediate Verification Language: Design and Logical Encoding [chapter]

K. Rustan M. Leino, Philipp Rümmer
2010 Lecture Notes in Computer Science  
Intermediate languages are a paradigm to separate concerns in software verification systems when bridging the gap between programming languages and the logics understood by theorem provers.  ...  As a concrete solution, the paper presents the type system of Boogie 2, an intermediate verification language that is used in several program verifiers.  ...  The intermediate verification language serves as a thinking tool in the design of the verifier front end for each particular source language.  ... 
doi:10.1007/978-3-642-12002-2_26 fatcat:5ghnjvv3vze3lmiebfa5pwl4ye

A Certifying Code Generation Phase

Jan Olaf Blech, Arnd Poetzsch-Heffter
2007 Electronical Notes in Theoretical Computer Science  
A certifying compiler generates for each run a proof that it has performed the compilation run correctly. The proof is checked in a separate theorem prover.  ...  Guaranteeing correctness of compilation is a vital precondition for correct software. Code generation can be one of the most error-prone tasks in a compiler.  ...  One result of these steps is a mapping from intermediate language variables to registers and memory addresses (variable mapping).  ... 
doi:10.1016/j.entcs.2007.09.008 fatcat:nlupz6t4zvdqtouwp23l2m72wq

A General Formal Memory Framework for Smart Contracts Verification based on Higher-Order Logic Theorem Proving

Yang Zheng, Lei Hang
2019 International Journal of Performability Engineering  
One of the most reliable methods for s the security and reliability of smart contracts is a formal symbolic virtual machine based on higher-order logic proof system.  ...  It formalizes logic addresses, nonintrusive application programming interfaces, physical memory structures, and auxiliary tools in Coq.  ...  Appel and Blazy presented mechanized separation logic for a C-based intermediate language using Coq [7] . Manson et al. developed a Java memory model [8] .  ... 
doi:10.23940/ijpe.19.11.p19.29983007 fatcat:obcrrcxhvfcb3cbx32xokv4nfq

RTL c-based methodology for designing and verifying a multi-threaded processor

Luc Sèmèria, Renu Mehra, Barry Pangrle, Arjuna Ekanayake, Andrew Seawright, Daniel Ng
2002 Proceedings - Design Automation Conference  
A RTL C-based design and verification methodology is presented which enabled the successful high speed validation of a 7 million gate simultaneous multi-threaded (SMT) network processor.  ...  The methodology is centered on statically scheduled C-based coding style, C to HDL translation, and a novel RTL-C to RTL-Verilog equivalence checking flow.  ...  The definition of this design methodology involved the work of several members of the design and verification teams.  ... 
doi:10.1145/513918.513951 dblp:conf/dac/SemeriaMPESN02 fatcat:3w7rm3b2yrg7ljvc2uc5rkyeha

RTL c-based methodology for designing and verifying a multi-threaded processor

Luc Sèmèria, Renu Mehra, Barry Pangrle, Arjuna Ekanayake, Andrew Seawright, Daniel Ng
2002 Proceedings - Design Automation Conference  
A RTL C-based design and verification methodology is presented which enabled the successful high speed validation of a 7 million gate simultaneous multi-threaded (SMT) network processor.  ...  The methodology is centered on statically scheduled C-based coding style, C to HDL translation, and a novel RTL-C to RTL-Verilog equivalence checking flow.  ...  The definition of this design methodology involved the work of several members of the design and verification teams.  ... 
doi:10.1145/513950.513951 fatcat:s3h3m2nudjfitphlzfkubh4mvq

RTL C-based methodology for designing and verifying a multi-threaded processor

L. Semeria, A. Seawright, R. Mehra, D. Ng, A. Ekanayake, B. Pangrle
2002 Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324)  
A RTL C-based design and verification methodology is presented which enabled the successful high speed validation of a 7 million gate simultaneous multi-threaded (SMT) network processor.  ...  The methodology is centered on statically scheduled C-based coding style, C to HDL translation, and a novel RTL-C to RTL-Verilog equivalence checking flow.  ...  The definition of this design methodology involved the work of several members of the design and verification teams.  ... 
doi:10.1109/dac.2002.1012606 fatcat:2otw277idfbg7lcekm6vlecmhm

Model Checking Object-Z Specification Using SPIN

Lei Xiao, Gongzheng Lu, Shunzhi Zhu
2013 Sensors & Transducers  
Subsequently, the history invariant in Object-Z is described by Linear Temporal Logic (LTL). So the correctness of Object-Z specification can be verified.  ...  However, it is difficult to establish a tool to directly verify Object-Z, because of its high-level abstraction.  ...  State schema: Local variables and state variables are defined in a state schema, and the values of them at some time can be mapped to a state in LTS.  ... 
doaj:16ac689994a64f6f810c91cde1cc58b9 fatcat:xtwruo2c3ngtzm2dr4dqvcae7i

Participatory Verification of Railway Infrastructure by Representing Regulations in RailCNL [chapter]

Bjørnar Luteberget, John J. Camilleri, Christian Johansen, Gerardo Schneider
2017 Lecture Notes in Computer Science  
In order to allow railway engineers with limited logic programming experience to participate in the verification process, in this work we introduce a controlled natural language, RailCNL, which is designed  ...  We also describe our design methodology, based on CNL best practices and previous experience with creating verification front-end languages.  ...  We expand on these best practices in the context of creating intermediate languages for writing diverse natural text in a form which is translatable into formal verification properties.  ... 
doi:10.1007/978-3-319-66197-1_6 fatcat:uuofrmlf4neavhwmieddb7km24

Different Maps for Different Uses. A Program Transformation for Intermediate Verification Languages [article]

Daniel Dietsch, Matthias Heizmann, Jochen Hoenicke, Alexander Nutz, Andreas Podelski
2019 arXiv   pre-print
In theorem prover or SMT solver based verification, the program to be verified is often given in an intermediate verification language such as Boogie, Why, or CHC. This setting raises new challenges.  ...  We investigate a preprocessing step which takes the similar role that alias analysis plays in verification, except that now, a (mathematical) map is used to model the memory or a data object of type array  ...  The analogue to pointers in an intermediate verification language are map indices, i.e., values that are used to read values from a map variable.  ... 
arXiv:1901.01915v1 fatcat:l2myi7d4mzeyrgbdl6h5q2item

The bedrock structured programming system

Adam Chlipala
2013 Proceedings of the 18th ACM SIGPLAN international conference on Functional programming - ICFP '13  
It is based on a cross-platform core combining characteristics of assembly languages and compiler intermediate languages.  ...  The abstraction level of these macros only imposes a compile-time cost, via the execution of functional Coq programs that compute programs in our intermediate language; but the run-time cost is not substantially  ...  This material is based on research sponsored by DARPA under agreement number FA8750-12-2-0293. The U.S.  ... 
doi:10.1145/2500365.2500592 dblp:conf/icfp/Chlipala13 fatcat:y674nwei2vbr5as4aebk2mkgpa

Formal verification of ASM designs using the MDG tool

A. Gawanmeh, S. Tahar, K. Winter
2003 First International Conference onSoftware Engineering and Formal Methods, 2003.Proceedings.  
Both ASM and MDG are based on a subset of many-sorted first order logic, making it appealing to link these two concepts.  ...  If a variable is Boolean, the term is also Boolean. ¦ If f is an r § © function name in a given vocabulary and t ¢ t are terms, then f t ¢ t ! is a term.  ...  We create these tables by mapping ASM models through the intermediate language into MDG-HDL tables along with variable order and algebraic specifications as shown in Figure 10 .  ... 
doi:10.1109/sefm.2003.1236223 dblp:conf/sefm/GawanmehTW03 fatcat:b6o4yyllxjfo5pwdjsboww2s6q
« Previous Showing results 1 — 15 out of 20,386 results