Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- ArticleSeptember 2024
B2SAT: A Bare-Metal Reduction of B to SAT
AbstractWe present a new SAT backend for the B-Method to enable new applications of formal methods. The new backend interleaves low-level SAT solving with high-level constraint solving. It provides a “bare metal” access to SAT solving, while pre- and post-...
- ArticleSeptember 2024
Alloy Repair Hint Generation Based on Historical Data
AbstractPlatforms to support novices learning to program are often accompanied by automated next-step hints that guide them towards correct solutions. Many of those approaches are data-driven, building on historical data to generate higher quality hints. ...
- ArticleSeptember 2024
Chamelon : A Delta-Debugger for OCaml
AbstractTools that manipulate OCaml code can sometimes fail even on correct programs. Identifying and understanding the cause of the error usually involves manually reducing the size of the program, so as to obtain a shorter program causing the same error—...
- ArticleSeptember 2024
Satisfiability Modulo Theories: A Beginner’s Tutorial
AbstractGreat minds have long dreamed of creating machines that can function as general-purpose problem solvers. Satisfiability modulo theories (SMT) has emerged as one pragmatic realization of this dream, providing significant expressive power and ...
- ArticleSeptember 2024
ASMETA Tool Set for Rigorous System Design
AbstractThis tutorial paper introduces ASMETA, a comprehensive suite of integrated tools around the formal method Abstract State Machines to specify and analyze the executable behavior of discrete event systems. ASMETA supports the entire system ...
- ArticleSeptember 2024
AGVTS: Automated Generation and Verification of Temporal Specifications for Aeronautics SCADE Models
AbstractSCADE is both a formal language and a model-based development environment, widely used to build and verify the models of safety-critical system (SCS). The SCADE Design Verifier (DV) provides SAT-based verification. However, DV cannot adequately ...
- ArticleSeptember 2024
Beyond the Bottleneck: Enhancing High-Concurrency Systems with Lock Tuning
AbstractHigh-concurrency systems often suffer from performance bottlenecks [1]. This is often caused by waiting and context switching caused by fierce competition between threads for locks. As a cloud computing company, we place great emphasis on ...
- ArticleSeptember 2024
CauMon: An Informative Online Monitor for Signal Temporal Logic
AbstractIn this paper, we present a tool for monitoring the traces of cyber-physical systems (CPS) at runtime, with respect to Signal Temporal Logic (STL) specifications. Our tool is based on the recent advances of causation monitoring, which reports not ...
- ArticleSeptember 2024
Switching Controller Synthesis for Hybrid Systems Against STL Formulas
AbstractSwitching controllers play a pivotal role in directing hybrid systems (HSs) towards the desired objective, embodying a “correct-by-construction” approach to HS design. Identifying these objectives is thus crucial for the synthesis of effective ...
- ArticleSeptember 2024
Discourje: Run-Time Verification of Communication Protocols in Clojure — Live at Last
AbstractMultiparty session typing (MPST) is a formal method to make concurrent programming simpler. The idea is to use type checking to automatically prove safety (protocol compliance) and liveness (communication deadlock freedom) of implementations ...
- ArticleSeptember 2024
PyBDR: Set-Boundary Based Reachability Analysis Toolkit in Python
AbstractWe present PyBDR, a Python reachability analysis toolkit based on set-boundary analysis, which centralizes on widely-adopted set propagation techniques for formal verification, controller synthesis, state estimation, etc. It employs boundary ...
- ArticleSeptember 2024
Extending Isabelle/HOL’s Code Generator with Support for the Go Programming Language
AbstractThe Isabelle proof assistant includes a small functional language, which allows users to write and reason about programs. So far, these programs could be extracted into a number of functional languages: Standard ML, OCaml, Scala, and Haskell. This ...