Testing
Alloy Model Checking: Find Design Bugs Before Writing Code
Most software bugs originate at the design level, not the implementation level. You misunderstood how two subsystems interact, or you forgot that a particular state combination was possible. By the time you discover this in a test, you've built the wrong thing for days or weeks. Alloy is