Alloy meets TLA+: An exploratory study
@article{Macedo2016AlloyMT, title={Alloy meets TLA+: An exploratory study}, author={Nuno Macedo and Alcino Cunha}, journal={ArXiv}, year={2016}, volume={abs/1603.03599} }
Alloy and TLA+ are two formal specification languages that are increasingly popular due to their simplicity and flexibility, as well as the effectiveness of their companion model checkers, the Alloy Analyzer and TLC, respectively. Nonetheless, while TLA+ focuses on temporal properties, Alloy is better suited to handle structural properties, requiring ad hoc mechanisms to reason about temporal properties. Thus, both have limitations in the specification and analysis of systems rich in both…
8 Citations
Lightweight specification and analysis of dynamic systems with rich configurations
- Computer ScienceSIGSOFT FSE
- 2016
Electrum is proposed, an extension of the Alloy specification language with temporal logic operators, where both rich configurations and expressive temporal properties can easily be defined, and two alternative model-checking techniques are proposed, one bounded and the other unbounded, to verify systems expressed in this language.
TLA+ model checking made symbolic
- Computer ScienceProc. ACM Program. Lang.
- 2019
This paper presents APALACHE -- a first symbolic model checker for TLA+.
Verification of the Chord protocol in TLA
- Computer Science
- 2019
This thesis presents a formal specification of the Chord distributed hash table protocol, using the TLA specification language, and shows that the introduction of failures leads the specification to admit several behaviors which break the safety properties Chord promises, potentially leading to permanent partitions in the network and performance degradation.
Specifying and verifying usage control models and policies in TLA
$$^+$$
+
- Computer ScienceInt. J. Softw. Tools Technol. Transf.
- 2021
This paper considers a case study where a formal model in TLA is specified for both a policy-neutral and policy-specific UseCON usage control model, and aims to shed light in the analysis and verification of usage control models and policies by sharing the experience when using TLA.
Proof assisted bounded and unbounded symbolic model checking of software and system models
- Computer ScienceSci. Comput. Program.
- 2018
A Translation from Alloy to B
- Computer ScienceABZ
- 2018
In this paper, we introduce a translation of the specification language Alloy to classical B. Our translation closely follows the Alloy grammar, each construct is translated into a semantically…
Analysis of Message Passing SoftwareUsing Electrum
- Computer Science
- 2020
This work explores and proposes a technique to automatically verify system-wide safety properties of ROS-based applications in continuous integration environments based on the formalization of ROS architectural models and node behaviours in Electrum, a specification language of first-order temporal logic supported by a model-finder.
References
SHOWING 1-10 OF 12 REFERENCES
Temporal Logic Model Checking in Alloy
- Computer ScienceABZ
- 2012
This article shows how a symbolic representation of the semantics of computational tree logic with fairness constraints (CTLFC) can be written in first-order logic with the transitive closure operator, and therefore described in Alloy.
Symbolic model checking of declarative relational models
- Computer ScienceICSE
- 2006
A BDD-based model checker for the language, and successfully verified a straightforward model of the dependency algorithm in Apache Ant for up to 5 nodes are built.
Bounded Model Checking of Temporal Formulas with Alloy
- Computer ScienceABZ
- 2014
An extension of Alloy is proposed to allow the specification of temporal formulas using LTL, and it is shown how they can be verified by bounded model checking with the Alloy Analyzer.
An Imperative Extension to Alloy
- Computer ScienceASM
- 2010
A translation from the extended Alloy language with the standard imperative constructs to the existing first-order logic of the Alloy Analyzer is presented, allowing for efficient analysis of models.
Symbolic Model Checking without BDDs
- Computer ScienceTACAS
- 1999
This paper shows how boolean decision procedures, like Stalmarck's Method or the Davis & Putnam Procedure, can replace BDDs, and introduces a bounded model checking procedure for LTL which reduces model checking to propositional satisfiability.
Software Abstractions - Logic, Language, and Analysis
- Computer Science
- 2006
This revised edition of Software Abstractions updates the text, examples, and appendixes to be fully compatible with the latest version of Alloy, a language that captures the essence of software abstractions simply and succinctly, using a minimal toolkit of mathematical notions.
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review]
- Computer ScienceComputer
- 2002
This book will teach you how to write specifications of computer systems, using the language TLA+, which is a simple variant of Pnueli's original logic.
Detection of Design Flaws in the Android Permission Protocol Through Bounded Verification
- Computer ScienceFM
- 2015
A study of real-world Android applications corroborates the finding that the flaws in the Android permission protocol can have severe security implications, in some cases allowing the attacker to bypass the permission checks entirely.
Kodkod: A Relational Model Finder
- Computer ScienceTACAS
- 2007
Three new techniques are addressed with three new techniques: a symmetry detection algorithm that works in the presence of partial solutions, a sparse-matrix representation of relations, and a compact representation of boolean formulas inspired by boolean expression diagrams and reduced boolean circuits.
Why Amazon Chose TLA +
- EngineeringABZ
- 2014
The reasons why TLA+ was chosen instead of other methods, and areas in which the team would welcome further progress are described.