Portus: Linking Alloy with SMT-based Finite Model Finding

dc.contributor.authorDancy, Ryan
dc.contributor.authorDay, Nancy A.
dc.contributor.authorZila, Owen
dc.contributor.authorTariq, Khadija
dc.contributor.authorPoremba, Joseph
dc.date.accessioned2026-02-02T19:16:05Z
dc.date.available2026-02-02T19:16:05Z
dc.date.issued2025-11-25
dc.description© 2025 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
dc.description.abstractAlloy is a well-known, formal, declarative language for modelling systems early in the software development process. Currently, it uses the Kodkod library as a back-end for finite model finding. Kodkod translates the model to a SAT problem; however, this method can often handle only problems of fairly low-size sets and is inherently finite. We present Portus, a method for translating Alloy into an equivalent many-sorted first-order logic problem (MSFOL). Once in MSFOL, the problem can be evaluated by an SMT-based finite model finding method implemented in the Fortress library, creating an alternative back-end for the Alloy Analyzer. Fortress converts the MSFOL finite model finding problem into the logic of uninterpreted functions with equality (EUF), a decidable fragment of first-order logic that is well-supported in many SMT solvers. We compare the performance of Portus with Kodkod on a corpus of 63 Alloy models written by experts. Our method is fully integrated into the Alloy Analyzer.
dc.description.sponsorshipThis research was supported in part by the Natural Sciences and Engineering Re search Council of Canada (NSERC), Compute Ontario (https://www.computeontario.ca) and the Digital Research Alliance of Canada (alliance.can.ca).
dc.identifier.uri10.1109/TSE.2025.3631361
dc.identifier.urihttps://hdl.handle.net/10012/22922
dc.language.isoen
dc.publisherIEEE
dc.subjectDeclarative modelling
dc.subjectAlloy
dc.subjectSMT solving
dc.titlePortus: Linking Alloy with SMT-based Finite Model Finding
dc.typeArticle
dcterms.bibliographicCitationR. Dancy, N. A. Day, O. Zila, K. Tariq and J. Poremba, "Portus: Linking Alloy with SMT-based Finite Model Finding," in IEEE Transactions on Software Engineering, doi: 10.1109/TSE.2025.3631361.
uws.contributor.affiliation1Faculty of Mathematics
uws.contributor.affiliation2David R. Cheriton School of Computer Science
uws.peerReviewStatusReviewed
uws.scholarLevelFaculty
uws.typeOfResourceTexten

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Portus_Linking_Alloy_with_SMT-based_Finite_Model_Finding.pdf
Size:
4.38 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
4.47 KB
Format:
Item-specific license agreed upon to submission
Description: