Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
Formalized Burrows-Wheeler Transform
CPP '25: Proceedings of the 14th ACM SIGPLAN International Conference on Certified Programs and ProofsPages 187–197https://doi.org/10.1145/3703595.3705883The Burrows-Wheeler transform (BWT) is an invertible lossless transformation that permutes input sequences into alternate sequences of the same length that frequently contain long localized regions that involve clusters consisting of just a few distinct ...
- research-articleJanuary 2025
A CHERI C Memory Model for Verified Temporal Safety
- Vadim Zaliva,
- Kayvan Memarian,
- Brian Campbell,
- Ricardo Almeida,
- Nathaniel Filardo,
- Ian Stark,
- Peter Sewell
CPP '25: Proceedings of the 14th ACM SIGPLAN International Conference on Certified Programs and ProofsPages 112–126https://doi.org/10.1145/3703595.3705878Memory safety concerns continue to be a major source of security vulnerabilities. The CHERI architecture, as instantiated in prototype CHERI-RISC-V cores, the Arm Morello system, and Microsoft's CHERIoT embedded core, provides fine-grained memory access ...
VeriRT: An End-to-End Verification Framework for Real-Time Distributed Systems
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 61, Pages 1812–1839https://doi.org/10.1145/3704897Safety-critical systems are often designed as real-time distributed systems. Despite the need for strong guarantees of safety and reliability in these systems, applying formal verification methods to real-time distributed systems at the implementation ...
- research-articleJanuary 2025
A Quantitative Probabilistic Relational Hoare Logic
Proceedings of the ACM on Programming Languages (PACMPL), Volume 9, Issue POPLArticle No.: 40, Pages 1167–1195https://doi.org/10.1145/3704876We introduce eRHL, a program logic for reasoning about relational expectation properties of pairs of probabilistic programs. eRHL is quantitative, i.e., its pre- and post-conditions take values in the extended non-negative reals. Thanks to its ...
-
- posterDecember 2024
Poster: Formally Verified Binary Lifting to P-Code
CCS '24: Proceedings of the 2024 on ACM SIGSAC Conference on Computer and Communications SecurityPages 4973–4975https://doi.org/10.1145/3658644.3691386Analysis of binary software plays a critical role in software security. Reverse engineers analyze binaries to discover vulnerabilities, patch legacy software, and detect malware. Most of the reverse engineering tools have been developed from a practical ...
- research-articleDecember 2024
Compositional Verification of Composite Byzantine Protocols
CCS '24: Proceedings of the 2024 on ACM SIGSAC Conference on Computer and Communications SecurityPages 34–48https://doi.org/10.1145/3658644.3690355Byzantine Fault-Tolerant (BFT) protocols are known to be difficult to design and to reason about. To address this challenge, on one hand, several approaches have been developed recently for computer-aided formal verification of the desired correctness ...
- research-articleDecember 2024
SpecMon: Modular Black-Box Runtime Monitoring of Security Protocols
CCS '24: Proceedings of the 2024 on ACM SIGSAC Conference on Computer and Communications SecurityPages 2741–2755https://doi.org/10.1145/3658644.3690197This work addresses the verification gap between formal protocol specifications and their real-world implementations by monitoring compliance with formal specifications.
We achieve this by instrumenting the networking and cryptographic libraries used by ...
- ArticleNovember 2024
Formal Verification of RISC-V Processor Chisel Designs
Dependable Software Engineering. Theories, Tools, and ApplicationsPages 142–160https://doi.org/10.1007/978-981-96-0602-3_8AbstractChisel is an open-source high-level hardware construction language embedded in Scala to facilitate parameterizable, reusable circuit design generators. It is becoming increasingly popular and has been used to design many RISC-V processor variants. ...
- short-paperOctober 2024
Vision Paper: Proof-Carrying Code Completions
ASEW '24: Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering WorkshopsPages 35–42https://doi.org/10.1145/3691621.3694932Code completions produced by today's large language models (LLMs) offer no formal guarantees. We propose proof-carrying code completions (PC3). In this paradigm, a high-resourced entity (the LLM provided by the server) must provide a code completion ...
- research-articleOctober 2024
Learning DNN Abstractions using Gradient Descent
ASE '24: Proceedings of the 39th IEEE/ACM International Conference on Automated Software EngineeringPages 2299–2303https://doi.org/10.1145/3691620.3695303Deep Neural Networks (DNNs) are being trained and trusted for performing fairly complex tasks, even in business- and safety-critical applications. This necessitates that they be formally analyzed before deployment. Scalability of such analyses is a major ...
- short-paperOctober 2024
A Parameterized Framework for the Formal Verification of Zero-Knowledge Virtual Machines
SPLASH Companion '24: Companion Proceedings of the 2024 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for HumanityPages 22–24https://doi.org/10.1145/3689491.3689966Zero-knowledge virtual machines (zkVMs) enable verifiable computation on via succinct Zero-knowledge proofs (ZKPs). However, current zkVMs, still in development, show many bugs. This paper introduces a parameterized framework for the formal verification ...
- research-articleOctober 2024
From Transpilers to Semantic Libraries: Formal Verification With Pluggable Semantics
MODELS Companion '24: Proceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and SystemsPages 311–317https://doi.org/10.1145/3652620.3686251In the field of model-based systems engineering, there is an increasing demand for the application of formal methods. However, this requires expertise in formal methods, which cannot be expected from systems engineers. While several attempts have been ...
- ArticleSeptember 2024
Automatic Verification of Cryptographic Block Function Implementations with Logical Equivalence Checking
AbstractGiven a fixed-size block, cryptographic block functions generate outputs by a sequence of bitwise operations. Block functions are widely used in the design of hash functions and stream ciphers. Their correct implementations hence are crucial to ...
- ArticleSeptember 2024
Free Facts: An Alternative to Inefficient Axioms in Dafny
AbstractFormal software verification relies on properties of functions and built-in operators. Unless these properties are handled directly by decision procedures, an automated verifier includes them in verification conditions by supplying them as ...
- ArticleSeptember 2024
Extracting Formal Smart-Contract Specifications from Natural Language with LLMs
AbstractDevelopers tend to be reluctant to provide formal specifications for software components; even well-established design-by-contract (DbC) properties like invariants, pre- and postconditions are neglected. This has hindered a more widely practical ...
- research-articleAugust 2024
Design and Implementation of a Verified Interpreter for Additive Manufacturing Programs (Experience Report)
FUNARCH 2024: Proceedings of the 2nd ACM SIGPLAN International Workshop on Functional Software ArchitecturePages 10–17https://doi.org/10.1145/3677998.3678221This paper describes the design of a verified tool for analyzing tool paths defined in the RS-274 language for 3D printing systems. We describe how the analyzer was designed to allow a mixture of verification and code-extraction techniques to be combined ...
Story of Your Lazy Function’s Life: A Bidirectional Demand Semantics for Mechanized Cost Analysis of Lazy Programs
Proceedings of the ACM on Programming Languages (PACMPL), Volume 8, Issue ICFPArticle No.: 237, Pages 30–63https://doi.org/10.1145/3674626Lazy evaluation is a powerful tool that enables better compositionality and potentially better performance in functional programming, but it is challenging to analyze its computation cost. Existing works either require manually annotating sharing, or ...
- research-articleAugust 2024
MAB-BMC: A Formal Verification Enhancer by Harnessing Multiple BMC Engines Together
ACM Transactions on Design Automation of Electronic Systems (TODAES), Volume 29, Issue 5Article No.: 75, Pages 1–37https://doi.org/10.1145/3675168In recent times, Bounded Model Checking (BMC) engines have gained wide prominence in formal verification. Different BMC engines exist, differing in their optimization, representations and solving mechanisms used to represent and navigate the underlying ...
- research-articleAugust 2024
Topaz: Declarative and Verifiable Authoritative DNS at CDN-Scale
ACM SIGCOMM '24: Proceedings of the ACM SIGCOMM 2024 ConferencePages 891–903https://doi.org/10.1145/3651890.3672240Today, when a CDN nameserver receives a DNS query for a customer's domain, it decides which CDN IP to return based on servicelevel objectives such as managing load or maintaining performance, but also internal needs like split testing. Many of these ...