Sitemap
Geek Culture

A new tech publication by Start it up (https://medium.com/swlh).

Automatically Analyze and Validate Your Software Design

How to easily identify potential corner cases in your software design using Alloy.

5 min readMay 23, 2021

--

Imagine you are tasked to build a program to predict the weather condition in two months' time. You brought out a piece of paper and a pen and started drawing the architecture diagram of your new climate program. Once completed, your team began the development work for a few weeks.

Until… you forgot to handle some unthinkable edge cases! “No worries”, with an assured voice, not realizing that those issues would require a complete software overhaul! Only if only you could detect these cases early on…

Press enter or click to view image in full size
GIF by Author

Motivation

This is where program analyzers, such as Alloy, come in. They help you to identify potential loopholes early on in the software design phase, even before you begin any development work.

Alloy itself is an open-sourced language and analyzer module to evaluate the robustness of your software models. It is widely used in many large institutions to identify potential security loopholes and gaps in software designs.

How Does Alloy Work?

So how does Alloy work, exactly? An Alloy model allows you to define a set of “constraints” that describes a…

--

--

Juan Nathaniel

Written by Juan Nathaniel

Engineering @ Columbia University | Documenting and sharing my learning journey through AI, programming, and research

No responses yet