Solution Enumeration Abstraction: A Modeling Idiom to Enhance a Lightweight Formal Method

7Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.

Abstract

Formal methods are a key to engineering more reliable systems. In this paper, we focus on an important application of formal methods — enumerating solutions to logical formulas that encode properties of interest. Solution enumeration has many uses, e.g., in systematic software testing, model counting, or hardware analysis. We introduce solution enumeration abstraction, a novel idiom that allows users to define data abstractions to enhance solution enumeration by specifying how the solutions must differ, so enumeration creates a high quality set of solutions of a manageable size. We embody the idiom as a technique built on top of Alloy, a well-known lightweight formal method, which is comprised of a first-order relational logic with transitive closure, and a SAT-based analysis engine. Experimental results show that our technique supports a variety of data abstractions, and can substantially reduce the number of solutions enumerated and the time to enumerate them.

Cite

CITATION STYLE

APA

Sullivan, A., Marinov, D., & Khurshid, S. (2019). Solution Enumeration Abstraction: A Modeling Idiom to Enhance a Lightweight Formal Method. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 11852 LNCS, pp. 336–352). Springer. https://doi.org/10.1007/978-3-030-32409-4_21

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free