AlloyMax: bringing maximum satisfaction to relational specifications
Changjian Zhang, Ryan Wagner, Pedro Orvalho, David Garlan, Vasco Manquinho, Ruben Martins, Eunsuk Kang
Abstract
Alloy is a declarative modeling language based on a first-order relational logic. Its constraint-based analysis has enabled a wide range of applications in software engineering, including configuration synthesis, bug finding, test-case generation, and security analysis. Certain types of analysis tasks in these domains involve finding an optimal solution. For example, in a network configuration problem, instead of finding any valid configuration, it may be desirable to find one that is most permissive (i.e., it permits a maximum number of packets). Due to its dependence on SAT, however, Alloy cannot be used to specify and analyze these types of problems.
We propose Alloy Max , an extension of Alloy with a capability to express and analyze problems with optimal solutions. Alloy Max introduces (1) a small addition of language constructs that can be used to specify a wide range of problems that involve optimality and (2) a new analysis engine that leverages a Maximum Satisfiability (MaxSAT ) solver to generate optimal solutions. To enable this new type of analysis, we show how a specification in a first-order relational logic can be translated into an input format of MaxSAT solvers-namely, a Boolean formula in weighted conjunctive normal form (WCNF). We demonstrate the applicability and scalability of Alloy Max on a benchmark of problems. To our knowledge, Alloy Max is the first approach to enable analysis with optimality in a relational modeling language, and we believe that Alloy Max has the potential to bring a wide range of new applications to Alloy.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext e174cb74-c9c8-4234-ac0b-9653ea994076Cited by top-tier papers2
- Constrained LTL Specification Learning from ExamplesChangjian Zhang, Parv Kapoor, Ian Dardik, Leyi Cui et al.ICSE 2025 · 4 citations
- Quantitative relational modelling with QAlloyPedro Silva, José N. Oliveira, Nuno Macedo, Alcino CunhaFSE 2022 · 3 citations
Builds on3
- Spectre Attacks: Exploiting Speculative ExecutionPaul Kocher, Jann Horn, Anders Fogh, Daniel Genkin et al.S&P 2019 · 2,435 citations
- Automated Synthesis of Semantic Malware Signatures using Maximum SatisfiabilityYu Feng, Osbert Bastani, Ruben Martins, Isil Dillig et al.NDSS 2017 · 104 citations
- Reducing run-time adaptation space via analysis of possible utility boundsClay Stevens, Hamid BagheriICSE 2020 · 14 citations
Related papers
- Bounded Exhaustive Search of Alloy Specification RepairsSimón Gutiérrez Brida, Germán Regis, Guolong Zheng, Hamid Bagheri et al.ICSE 2021 · 6 citations
- ATR: template-based repair for Alloy specificationsGuolong Zheng, ThanhVu Nguyen, Simón Gutiérrez Brida, Germán Regis et al.ISSTA 2022 · 18 citations
- FLACK: Counterexample-Guided Fault Localization for Alloy ModelsGuolong Zheng, ThanhVu Nguyen, Simón Gutiérrez Brida, Germán Regis et al.ICSE 2021 · 18 citations
- SymMC: approximate model enumeration and counting using symmetry information for Alloy specificationsWenxi Wang, Yang Hu, Kenneth L. McMillan, Sarfraz KhurshidFSE 2022
- Alloy Repair Hint Generation Based on Historical DataAna Barros, Henrique Neto, Alcino Cunha, Nuno Macedo et al.FM 2024 · 2 citations
