Towards ai-assisted synthesis of verified dafny methods
Large language models show great promise in many domains, including programming. A
promise is easy to make but hard to keep, and language models often fail to keep their …
promise is easy to make but hard to keep, and language models often fail to keep their …
Interrogation Testing of Program Analyzers for Soundness and Precision Issues
D Kaindlstorfer, A Isychev, V Wüstholz… - Proceedings of the 39th …, 2024 - dl.acm.org
Program analyzers are critical in safeguarding software reliability. However, due to their
inherent complexity, they are likely to contain bugs themselves, and the question of how to …
inherent complexity, they are likely to contain bugs themselves, and the question of how to …
Constraint-Based Test Oracles for Program Analyzers
M Fleischmann, D Kaindlstorfer, A Isychev… - Proceedings of the 39th …, 2024 - dl.acm.org
Program analyzers implement complex algorithms and, as any software, can contain bugs.
Bugs in their implementation may lead to analyzers being imprecise and failing to verify safe …
Bugs in their implementation may lead to analyzers being imprecise and failing to verify safe …
Generating Conforming Programs with Xsmith
W Hatch, P Darragh, S Porncharoenwase… - Proceedings of the …, 2023 - dl.acm.org
Fuzz testing is an effective tool for finding bugs in software, including programming
language compilers and interpreters. Advanced fuzz testers can find deep semantic bugs in …
language compilers and interpreters. Advanced fuzz testers can find deep semantic bugs in …
{IronSpec}: Increasing the Reliability of Formal Specifications
E Goldweber, W Yu, SAV Ghahani… - 18th USENIX Symposium …, 2024 - usenix.org
The guarantees of formally verified systems are only as strong as their trusted specifications
(specs). As observed by previous studies, bugs in formal specs invalidate the assurances …
(specs). As observed by previous studies, bugs in formal specs invalidate the assurances …
SMT2Test: From SMT Formulas to Effective Test Cases
One of the primary challenges in software testing is generating high-quality test inputs and
obtaining corresponding test oracles. This paper introduces a novel methodology to mitigate …
obtaining corresponding test oracles. This paper introduces a novel methodology to mitigate …
A toolkit for automated testing of Dafny
Dafny is a verification-ready programming language that is executed via compilation to C#
and other mainstream languages. We introduce a toolkit for automated testing of Dafny …
and other mainstream languages. We introduce a toolkit for automated testing of Dafny …
Fuzzing Processing Pipelines for Zero-Knowledge Circuits
C Hochrainer, A Isychev, V Wüstholz… - arXiv preprint arXiv …, 2024 - arxiv.org
Zero-knowledge (ZK) protocols have recently found numerous practical applications, such
as in authentication, online-voting, and blockchain systems. These protocols are powered by …
as in authentication, online-voting, and blockchain systems. These protocols are powered by …
Randomised Testing of the Compiler for a Verification-Aware Programming Language
AF Donaldson, D Sheth, JB Tristan… - 2024 IEEE Conference …, 2024 - ieeexplore.ieee.org
We present the design and implementation of two new tools for randomised testing of the
compiler of the Dafny programming language. The Dafny language and tool-chain supports …
compiler of the Dafny programming language. The Dafny language and tool-chain supports …
Identifying Overly Restrictive Matching Patterns in SMT-based Program Verifiers (extended version)
Universal quantifiers occur frequently in proof obligations produced by program verifiers, for
instance, to axiomatize uninterpreted functions and to statically express properties of arrays …
instance, to axiomatize uninterpreted functions and to statically express properties of arrays …