143 Hits in 4.8 sec

Verifying Asymptotic Time Complexity of Imperative Programs in Isabelle [article]

Bohua Zhan, Maximilian P. L. Haslbeck
2018 arXiv   pre-print
We present a framework in Isabelle for verifying asymptotic time complexity of imperative programs. We build upon an extension of Imperative HOL and its separation logic to include running time.  ...  As case studies, we verify the asymptotic time complexity (in addition to functional correctness) of imperative algorithms and data structures such as median of medians selection, Karatsuba's algorithm  ...  We thank Manuel Eberl for his impressive formalization of the Akra-Bazzi method and the functional correctness of the selection algorihtm, and Simon Wimmer for the formalization of the DP solution for  ... 
arXiv:1802.01336v1 fatcat:sencjmmrdzcdhalbbyjk2qmudm

Modeling Asymptotic Complexity Using ACL2

William D. Young
2022 Electronic Proceedings in Theoretical Computer Science  
We describe work using ACL2 to prove complexity properties of programs implemented in a simple imperative programming language embedding via an operational semantics in ACL2.  ...  The theory of asymptotic complexity provides an approach to characterizing the behavior of programs in terms of bounds on the number of computational steps executed or use of computational resources.  ...  do more than verifying the big-O behavior of the program.  ... 
doi:10.4204/eptcs.359.9 fatcat:yxxp73zkbbff7dsdfpurpcf34i

Refinement with Time - Refining the Run-Time of Algorithms in Isabelle/HOL

Maximilian P. L. Haslbeck, Peter Lammich, Michael Wagner
2019 International Conference on Interactive Theorem Proving  
Refinement is a technique in program verification that makes software projects of larger scale manageable.  ...  Combining these two techniques for the first time, we present a methodology for verifying the functional correctness and the run-time analysis of algorithms in a modular way.  ...  In essence, it enables reasoning about imperative programs and their run-time in Isabelle/HOL.  ... 
doi:10.4230/lipics.itp.2019.20 dblp:conf/itp/HaslbeckL19 fatcat:k325lz6ptrgg7g6xchr5ikmonq

A Survey on Theorem Provers in Formal Methods [article]

M. Saqib Nawaz, Moin Malik, Yi Li, Meng Sun, M. Ikram Ullah Lali
2019 arXiv   pre-print
However, these tools evolved with time and now play vital role in the modeling and reasoning about complex and large-scale systems, especially safety-critical systems.  ...  In this work, more than 40 theorem provers are studied in detail and compared to present a comprehensive analysis and evaluation of these tools.  ...  ACKNOWLEDGMENTS The work has been supported by the National Natural Science Foundation of China under grant no. 61772038, 61532019 and 61272160, and the Guandong Science and Technology Department (Grant  ... 
arXiv:1912.03028v1 fatcat:fabxqg75xjhxlh7u3uyypgyzdy

Extensible Extraction of Efficient Imperative Programs with Foreign Functions, Manually Managed Memory, and Proofs [chapter]

Clément Pit-Claudel, Peng Wang, Benjamin Delaware, Jason Gross, Adam Chlipala
2020 Lecture Notes in Computer Science  
We present an original approach to sound program extraction in a proof assistant, using syntax-driven automation to derive correct-by-construction imperative programs from nondeterministic functional source  ...  By mixing and matching these pieces of logic, users can easily tailor extraction to their own domains and programs, getting maximum performance and ensuring correctness of the resulting assembly code.  ...  This work has been supported in part by NSF grants CCF-1512611 and CCF-1521584, and by DARPA under agreement number FA8750-16-C-0007. The U.S.  ... 
doi:10.1007/978-3-030-51054-1_7 fatcat:qwto3glvwrdgll6ffzzhvedmlq

A Fistful of Dollars: Formalizing Asymptotic Complexity Claims via Deductive Program Verification [chapter]

Armaël Guéneau, Arthur Charguéraud, François Pottier
2018 Lecture Notes in Computer Science  
We present a framework for simultaneously verifying the functional correctness and the worst-case asymptotic time complexity of higher-order imperative programs.  ...  We cover the subtleties of the multivariate case, where the complexity of a program fragment depends on multiple parameters.  ...  In this section, we first present our existing approach to verified time complexity analysis.  ... 
doi:10.1007/978-3-319-89884-1_19 fatcat:6hercwnspngkjddzf47upuhoue

Formal Proof and Analysis of an Incremental Cycle Detection Algorithm

Armaël Guéneau, Jacques-Henri Jourdan, Arthur Charguéraud, François Pottier, Michael Wagner
2019 International Conference on Interactive Theorem Proving  
Then, we exploit Separation Logic with Time Credits to simultaneously verify the correctness and the worst-case amortized asymptotic complexity of the modified algorithm.  ...  We study a state-of-the-art incremental cycle detection algorithm due to Bender, Fineman, Gilbert, and Tarjan. We propose a simple change that allows the algorithm to be regarded as genuinely online.  ...  Separation Logic with Time Credits Hoare Logic [19] allows verifying the correctness of an imperative algorithm by using assertions to describe the state of the program.  ... 
doi:10.4230/lipics.itp.2019.18 dblp:conf/itp/GueneauJCP19 fatcat:jdrur3pqazewdhwkgscb5e4v4y


Pierre-Évariste Dagand, Dejan Kostić, Viktor Kuncak
2008 Proceedings of the 4th international workshop on Types in language design and implementation - TLDI '09  
Concurrency and distribution pose algorithmic and implementation challenges in developing reliable distributed systems, making the field an excellent testbed for evaluating programming language and verification  ...  An Opis protocol description consists of a reactive function (called event function) describing the behavior of a distributed system node.  ...  Acknowledgements We would like to thank Zheng Li, Oleg Kiselyov, and Jacques Garrigue for their valuable help to devise an efficient and sound implementation of the event function type in OCaml.  ... 
doi:10.1145/1481861.1481870 dblp:conf/tldi/DagandKK09 fatcat:s7djj3nyefeyvo7v5culazgy2q

Interactive Testing with HOL-TestGen [chapter]

Achim D. Brucker, Burkhart Wolff
2006 Lecture Notes in Computer Science  
This holds in particular for the development on non-trivial formal test plans of complex software, where some parts of the overall activity require inherently guidance by a test engineer.  ...  HOL-TestGen is a test environment for specification-based unit testing build upon the proof assistant Isabelle/HOL.  ...  time frame of 10 minutes as in the previous run.  ... 
doi:10.1007/11759744_7 fatcat:a2gfe5q7jvdijmklt37v2leqe4

How to Get an Efficient yet Verified Arbitrary-Precision Integer Library [chapter]

Raphaël Rieu-Helft, Claude Marché, Guillaume Melquiond
2017 Lecture Notes in Computer Science  
We present a fully verified library designed using the Why3 program verifier. The use of a dedicated memory model makes it possible to have the Why3 code be very similar to the original GMP code.  ...  Formally verifying the functional behavior of such highly optimized code, not designed with verification in mind, is challenging.  ...  We gratefully thank Pascal Cuoq, Jean-Christophe Filliâtre and Mário Pereira for their comments on preliminary versions of this article.  ... 
doi:10.1007/978-3-319-72308-2_6 fatcat:dumc7tclvjahpl5tokwwsv6tze

Verified Tail Bounds for Randomized Programs [chapter]

Joseph Tassarotti, Robert Harper
2018 Lecture Notes in Computer Science  
A particularly difficult and important case is the complexity of randomized programs. Prior work has mostly focused on expected run time bounds.  ...  The development of type systems and static analyses that automatically bound the complexity of programs is an active area of research.  ...  Any opinions, findings and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of these organizations.  ... 
doi:10.1007/978-3-319-94821-8_33 fatcat:b3effzpfd5ck5bwd7haukjcyaa

The Foundational Cryptography Framework [article]

Adam Petcher, Greg Morrisett
2014 arXiv   pre-print
FCF provides a language for probabilistic programs, a theory that is used to reason about programs, and a library of tactics and definitions that are useful in proofs about cryptography.  ...  Security is proven in the computational model, and the proof provides concrete bounds as well as asymptotic conclusions.  ...  In the PRF Encryption proof, we use the non-uniform polynomial time complexity class described in Section 3.7.  ... 
arXiv:1410.3735v1 fatcat:hi3xtn46hfeqlomvyozxjsjaf4

Modular Pluggable Analyses for Data Structure Consistency

Viktor Kuncak, Patrick Lam, Karen Zee, Martin Rinard
2006 IEEE Transactions on Software Engineering  
Hob is a program analysis system that enables the focused application of multiple analyses to different modules in the same program.  ...  Each analysis verifies that the implementation of the module 1) preserves important internal data structure consistency properties and 2) correctly implements a set algebra interface that characterizes  ...  The scalability of our system does not depend on asymptotic complexity arguments; we instead observe that researchers have not successfully performed shape analysis on programs that exceed a couple of  ... 
doi:10.1109/tse.2006.125 fatcat:j2oj2r6xg5hyndodyrml5yy5a4

Formally Verified SAT-Based AI Planning [article]

Mohammad Abdulaziz, Friedrich Kurz
2020 arXiv   pre-print
We present an executable formally verified SAT encoding of classical AI planning. We use the theorem prover Isabelle/HOL to perform the verification.  ...  We also use it as a reference to test a state-of-the-art SAT-based planner, showing that it sometimes falsely claims that problems have no solutions of certain lengths.  ...  running times of solving formulae generated by Madagascar vs our verified encoding.  ... 
arXiv:2010.14648v4 fatcat:6vshv3kuifhs3oer5mffkdlay4

The Foundational Cryptography Framework [chapter]

Adam Petcher, Greg Morrisett
2015 Lecture Notes in Computer Science  
FCF provides a language for probabilistic programs, a theory that is used to reason about programs, and a library of tactics and definitions that are useful in proofs about cryptography.  ...  Concrete bounds provide more information than asymptotic statements, and they inform the selection of values for system parameters in order to achieve the desired level of security in practice.  ...  The work of [2] is a Coq library utilizing a deeply-embedded imperative programming language.  ... 
doi:10.1007/978-3-662-46666-7_4 fatcat:chlg7vtj3veibgoalsmrdmgfxu
« Previous Showing results 1 — 15 out of 143 results