Filters








259 Hits in 1.8 sec

Merlin: a language server for OCaml (experience report)

Frédéric Bour, Thomas Refis, Gabriel Scherer
2018 Proceedings of the ACM on Programming Languages  
We report on the experience of developing Merlin, a language server for the OCaml programming language in development since 2013.  ...  We expect this experience report to be of interest to authors of interactive language tooling for any programming language; many design choices may be reused, and some hard-won lessons can serve as warnings  ...  The second change is a move from a first-failure report to reporting all type errors.  ... 
doi:10.1145/3236798 dblp:journals/pacmpl/BourRS18 fatcat:mfzk2d74fbcu5k3hokwv2suszm

Cosette: An Automated Prover for SQL

Shumo Chu, Chenglong Wang, Konstantin Weitz, Alvin Cheung
2017 Conference on Innovative Data Systems Research  
Although the problem of determining equivalence for arbitrary SQL queries is undecidable, our experiments show that COSETTE can determine the equivalences of a wide range of queries that arise in practice  ...  Using COSETTE, we have also proved the validity of magic set rewrites, and confirmed various real-world query rewrite errors, including the famous COUNT bug.  ...  While COSETTE cannot solve equivalences of all SQL queries due to theoretical limitations, our experiments show that it can efficiently determine the equivalences of a wide variety of real-world queries  ... 
dblp:conf/cidr/ChuWWC17 fatcat:g552buwf5namlkceryxcj4idfy

Handling Environments in a Nested Relational Algebra with Combinators and an Implementation in a Verified Query Compiler

Joshua S. Auerbach, Martin Hirzel, Louis Mandel, Avraham Shinnar, Jérôme Siméon
2017 Proceedings of the 2017 ACM International Conference on Management of Data - SIGMOD '17  
We have specified a query compiler using the Coq proof assistant with NRA e at its heart. Most of the compiler, including the query optimizer, is accompanied by a (machinechecked) correctness proof.  ...  ., variable-free, have been proposed as a better representation for query compilation and optimization.  ...  We would like to thank the anonymous reviewers for their comments and suggestions which greatly helped us improve the content and presentation of this work.  ... 
doi:10.1145/3035918.3035961 dblp:conf/sigmod/AuerbachHMSS17 fatcat:j3vhctveubbyvogpyempnest6y

Licensing the Mizar Mathematical Library [chapter]

Jesse Alama, Michael Kohlhase, Lionel Mamane, Adam Naumowicz, Piotr Rudnicki, Josef Urban
2011 Lecture Notes in Computer Science  
We propose to use features of state-of-the-art filesystems to allow real-time cloning and sandboxing of the entire libraries, allowing also to extend the wiki to a true multi-user collaborative area.  ...  A smart re-verification scheme for the large formal libraries in the wiki is suggested for Mizar/MML and Coq/CoRN, based on recently developed precise tracking of mathematical dependencies.  ...  This work is reported in [1] .  ... 
doi:10.1007/978-3-642-22673-1_11 fatcat:qafcwjbrwzgdzm5l5ccb3bffp4

The HoTT Library: A formalization of homotopy type theory in Coq [article]

Andrej Bauer, Jason Gross, Peter LeFanu Lumsdaine, Mike Shulman, Matthieu Sozeau, Bas Spitters
2016 arXiv   pre-print
We report on the development of the HoTT library, a formalization of homotopy type theory in the Coq proof assistant.  ...  The library has been used as a basis for several independent developments.  ...  Our library has served as a testing platform for a number of new Coq features. Ine ciencies and bugs were reported by us and quickly addressed by the Coq developers.  ... 
arXiv:1610.04591v2 fatcat:hej2265co5dndciufqrpa43ltq

SpaceSearch: a library for building and verifying solver-aided tools

Konstantin Weitz, Steven Lyubomirsky, Stefan Heule, Emina Torlak, Michael D. Ernst, Zachary Tatlock
2017 Proceedings of the ACM on Programming Languages  
These tools reduce problems in a specific application domain (e.g., compiler optimization validation) to queries that can be discharged with a highly optimized solver.  ...  A user builds their solver-aided tool in Coq against the SpaceSearch interface, and the user then verifies that the results provided by the interface are sufficient to establish the tool's desired high-level  ...  Coq's built-in extraction mechanism compiles Coq expressions to a target language, in our case Racket.  ... 
doi:10.1145/3110269 dblp:journals/pacmpl/WeitzLHTET17 fatcat:nken5444gzgzxlk4eizr73xhqe

PIDE for Asynchronous Interaction with Coq

Carst Tankink
2014 Electronic Proceedings in Theoretical Computer Science  
We have made some generalizations to the PIDE architecture to accommodate for more provers than just Isabelle, and adapted Coq to understand the core protocol: this delivered a working system in about  ...  This paper describes the initial progress towards integrating the Coq proof assistant with the PIDE architecture initially developed for Isabelle.  ...  This data structure is then queried by the plugin to generate markup.  ... 
doi:10.4204/eptcs.167.9 fatcat:uc7xaej3kzhshn655op6uxmsti

Tests and proofs for custom data generators

Catherine Dubois, Alain Giorgetti
2018 Formal Aspects of Computing  
They are used for debugging properties which are finally proved in Coq. This large case study is also a contribution in enumerative combinatorics.  ...  For bounded exhaustive testing, we use logic programming to generate all the data up to a given size.  ...  The authors warmly thank Nicolas Magaud for help with Coq, Valerio Senni for advice about his validation library, Noam Zeilberger and Cyril Cohen for fruitful discussions.  ... 
doi:10.1007/s00165-018-0459-1 fatcat:zxrhdrwshrg7vlos3krsoygoj4

Extracting functional programs from Coq, in Coq [article]

Danil Annenkov, Mikkel Milo, Jakob Botsch Nielsen, Bas Spitters
2021 arXiv   pre-print
In total, this gives us a way to write dependently typed programs in Coq, verify, and then extract them to several target languages while retaining a small trusted computing base of only MetaCoq and the  ...  We implement extraction of Coq programs to functional languages based on MetaCoq's certified erasure.  ...  We have also experimented with the prototype DSL interpreter extracted from our Coq developments on the Tezos network.  ... 
arXiv:2108.02995v1 fatcat:exagw24j2be6zpykh32due6laa

Storage Systems are Distributed Systems (So Verify Them That Way!)

Travis Hance, Andrea Lattuada, Chris Hawblitzel, Jon Howell, Rob Johnson, Bryan Parno
2020 USENIX Symposium on Operating Systems Design and Implementation  
VeriBetrKV exhibits similar query performance to unverified databases. Its insertion performance is 24× faster than unverified BerkeleyDB and 8× slower than RocksDB.  ...  We argue that the software of a storage system can (and should!) be viewed similarly. We evaluate this approach in VeriBetrKV, a key-value store based on a state-of-the-art B ε tree.  ...  Acknowledgments We thank the anonymous reviewers and our shepherd, Gernot Heiser, for useful feedback on the paper.  ... 
dblp:conf/osdi/HanceLHHJP20 fatcat:qawfx4t6fnasfpq5lw63xyy72i

A trusted mechanised JavaSript specification

Martin Bodin, Arthur Chargueraud, Daniele Filaretti, Philippa Gardner, Sergio Maffeis, Daiva Naudziuniene, Alan Schmitt, Gareth Smith
2014 Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '14  
We give a Coq proof that JSRef is correct with respect to JSCert and assess JSRef using test262, the ECMA conformance test suite.  ...  We present JSCert, a formalisation of the current ECMA standard in the Coq proof assistant, and JSRef, a reference interpreter for JavaScript extracted from Coq to OCaml.  ...  In the CompCert project [15] , Blazy and Leroy [8] built a verified optimising compiler for CLight, a significant fragment of C, with a Coq proof that the generated compiled code behaves exactly as  ... 
doi:10.1145/2535838.2535876 dblp:conf/popl/BodinCFGMNSS14 fatcat:gjwvma6drzginetbxw2opqcuhi

Unbounded superoptimization

Abhinav Jangda, Greta Yorsh
2017 Proceedings of the 2017 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software - Onward! 2017  
To study the feasibility of our approach, we implemented a preliminary prototype, which takes as input LLVM IR code and uses Z3 SMT solver to generate ARMv7-A assembly.  ...  Our approach uses an SMT solver in a novel way to generate efficient code for modern architectures and guarantee that the generated code correctly implements the source code.  ...  This prototype enables us to experiment with a variety of cost functions and encodings.  ... 
doi:10.1145/3133850.3133856 dblp:conf/oopsla/JangdaY17 fatcat:3ii2i2lgqfbajmbm5gvkgi2qia

Establishing Browser Security Guarantees through Formal Shim Verification

Dongseok Jang, Zachary Tatlock, Sorin Lerner
2012 USENIX Security Symposium  
We present QUARK, a browser whose kernel has been implemented and verified in Coq.  ...  We give a specification of our kernel, show that the implementation satisfies the specification, and finally show that the specification implies several security properties, including tab non-interference  ...  We would also like to thank our shepherd, Anupam Datta, and the anonymous reviewers for helping us improve our paper.  ... 
dblp:conf/uss/JangTL12 fatcat:nohyd6q6mrh7vkpgnlh3i6jq4i

CETS

Santosh Nagarakatte, Jianzhou Zhao, Milo M.K. Martin, Steve Zdancewic
2010 Proceedings of the 2010 international symposium on Memory management - ISMM '10  
Our CETS prototype employs both temporal check removal optimizations and traditional compiler optimizations to achieve a runtime overhead of just 48% on average.  ...  This paper presents CETS, a compile-time transformation for detecting all violations of temporal safety in C programs.  ...  No false violations were reported for the suites or the SPEC benchmarks used in our runtime experiments.  ... 
doi:10.1145/1806651.1806657 dblp:conf/iwmm/NagarakatteZMZ10 fatcat:qwbysc435jfzjeww2blgv6u7vq

Certificates for Verifiable Forensics

Radha Jagadeesan, C. M. Lubinski, Corin Pitcher, James Riely, Charles Winebrinner
2014 2014 IEEE 27th Computer Security Foundations Symposium  
Our Coq formalization yields a verifiable certificate of the correctness of the underlying forensic analysis.  ...  Digital forensics reports typically document the search process that has led to a conclusion; the primary means to verify the report is to repeat the search process.  ...  Their prototype tool uses an expert system to search for possible deductions, whereas we use a theorem prover to verify deductions.  ... 
doi:10.1109/csf.2014.11 dblp:conf/csfw/JagadeesanLPRW14 fatcat:7khtsutnsbaihnfzo2n4rwoy4u
« Previous Showing results 1 — 15 out of 259 results