kodkod

Kodkod constraint solver for relational logic

Kodkod is an efficient SAT-based analysis engine for first order logic with relations, transitive closure, and partial instances. The current prototype, which includes a finite model finder and a minimal unsatisfiable core extractor, is being used as a backend to the Karun, Forge, and Miniatur code checkers, a course scheduler, the Alloy Analyzer 4.0, a network configuration tool, etc.

Unlike traditional model finders (e.g. Alloy Analyzer 3, Paradox, and MACE), Kodkod is designed to take advantage of partial instance information, by allowing the user to specify a partial solution that the model finder then completes. In a network configuration problem, for example, the set of all active nodes is known. Any solution to a formula encoding the configuration problem must include all active nodes. The binding from the relation representing active nodes to the set of all active nodes is therefore a partial instance of the configuration formula.

publications

related publications

download

contact

Emina Torlak