dc.contributor.author | Milicevic, Aleksandar | |
dc.contributor.author | Near, Joseph P | |
dc.contributor.author | Kang, Eunsuk | |
dc.contributor.author | Jackson, Daniel | |
dc.date.accessioned | 2021-10-27T20:29:01Z | |
dc.date.available | 2021-10-27T20:29:01Z | |
dc.date.issued | 2019 | |
dc.identifier.uri | https://hdl.handle.net/1721.1/135729 | |
dc.description.abstract | © 2017, Springer Science+Business Media New York. The last decade has seen a dramatic growth in the use of constraint solvers as a computational mechanism, not only for analysis of software, but also at runtime. Solvers are available for a variety of logics but are generally restricted to first-order formulas. Some tasks, however, most notably those involving synthesis, are inherently higher order; these are typically handled by embedding a first-order solver (such as a SAT or SMT solver) in a domain-specific algorithm. Using strategies similar to those used in such algorithms, we show how to extend a first-order solver (in this case Kodkod, a model finder for relational logic used as the engine of the Alloy Analyzer) so that it can handle quantifications over higher-order structures. The resulting solver is sufficiently general that it can be applied to a range of problems; it is higher order, so that it can be applied directly, without embedding in another algorithm; and it performs well enough to be competitive with specialized tools. Just as the identification of first-order solvers as reusable backends advanced the performance of specialized tools and simplified their architecture, factoring out higher-order solvers may bring similar benefits to a new class of tools. | |
dc.language.iso | en | |
dc.publisher | Springer Science and Business Media LLC | |
dc.relation.isversionof | 10.1007/S10703-016-0267-2 | |
dc.rights | Creative Commons Attribution-Noncommercial-Share Alike | |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/4.0/ | |
dc.source | MIT web domain | |
dc.title | Alloy*: a general-purpose higher-order relational constraint solver | |
dc.type | Article | |
dc.contributor.department | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory | |
dc.relation.journal | Formal Methods in System Design | |
dc.eprint.version | Author's final manuscript | |
dc.type.uri | http://purl.org/eprint/type/JournalArticle | |
eprint.status | http://purl.org/eprint/status/PeerReviewed | |
dc.date.updated | 2019-05-31T17:21:19Z | |
dspace.orderedauthors | Milicevic, A; Near, JP; Kang, E; Jackson, D | |
dspace.date.submission | 2019-05-31T17:21:20Z | |
mit.journal.volume | 55 | |
mit.journal.issue | 1 | |
mit.metadata.status | Authority Work and Publication Information Needed | |