Lune

FSE2021Top-tier venue

AlloyMax: bringing maximum satisfaction to relational specifications

Changjian Zhang, Ryan Wagner, Pedro Orvalho, David Garlan, Vasco Manquinho, Ruben Martins, Eunsuk Kang

2021Year
10Citations
2Top-tier citations

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.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext e174cb74-c9c8-4234-ac0b-9653ea994076

Cited by top-tier papers2

Ask how each one uses it

Builds on3

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines