Abstract

Specifying and analyzing desired properties of software systems can play an important role in the development of more dependable systems. Alloy is a mature tool-set that provides a first-order, rela- tional logic with transitive closure for writing the specifications, and a fully automatic backend based on propositional satisfiability (SAT) solvers for analyzing them. Alloy's intuitive notation and sup- port for modern solvers make it a particularly effective specification and analysis tool, which has been applied in several domains, including verification, security, and synthesis. This paper introduces a new backend for Alloy, which complements SAT solvers, and provides a new method to assist Alloy users to more effectively use the tool-set, specifically in scenarios where multiple solutions to the same formula are desired. We add to the Alloy backend support for model counting, i.e., computing the number of solutions to the given formula. We extend the Alloy grammar to add a new com- mand for model counting, and extend the Alloy GUI to customize it. Our implementation, called AlloyMC, supports two state-of-the-art model counters: the approximate model counter ApproxMC and the exact model counter ProjMC. AlloyMC runs on Linux, Mac, and Windows. To use AlloyMC, users just download and run its integrated JAR file with no need to install dependencies (e.g., model counters and their dependent libraries). The AlloyMC source code, the JAR file, and the data set are available publicly.

Keywords:
Alloy Computer science Materials science Metallurgy

Metrics

1
Cited By
0.15
FWCI (Field Weighted Citation Impact)
35
Refs
0.56
Citation Normalized Percentile
Is in top 1%
Is in top 10%

Citation History

Topics

Machine Learning and Algorithms
Physical Sciences →  Computer Science →  Artificial Intelligence
Mass Spectrometry Techniques and Applications
Physical Sciences →  Chemistry →  Spectroscopy
Advanced Memory and Neural Computing
Physical Sciences →  Engineering →  Electrical and Electronic Engineering

Related Documents

BOOK-CHAPTER

Rounding Meets Approximate Model Counting

Jiong YangKuldeep S. Meel

Lecture notes in computer science Year: 2023 Pages: 132-162
JOURNAL ARTICLE

Model Counting Meets Distinct Elements

A. PavanN. V. VinodchandranArnab BhattacharyyaKuldeep S. Meel

Journal:   Communications of the ACM Year: 2023 Vol: 66 (9)Pages: 95-102
JOURNAL ARTICLE

Rounding meets approximate model counting

Jiong YangKuldeep S. Meel

Journal:   Formal Methods in System Design Year: 2025 Vol: 67 (2)Pages: 189-221
JOURNAL ARTICLE

Model Counting Meets Distinct Elements in a Data Stream

A. PavanN. V. VinodchandranArnab BhattacharyyaKuldeep S. Meel

Journal:   ACM SIGMOD Record Year: 2022 Vol: 51 (1)Pages: 87-94
© 2026 ScienceGate Book Chapters — All rights reserved.