Formal Methods

Your constantly-updated definition of Formal Methods and collection of videos and articles
167 shares

What are Formal Methods?

Formal methods are techniques used to model complex systems as mathematical entities. By building a mathematically rigorous model of a complex system, designers can not only verify the system’s properties in a more thorough fashion (than they could via empirical testing) but also use mathematical proof as a complement to system testing so as to ensure correct behavior.

Formal methods adopt a three-step approach to modeling and evaluating systems. During formal specification, an engineer or designer rigorously defines a system using a modeling language—typically by using a formal, mathematical syntax and semantics that eliminate imprecision and ambiguity. This is similar to writing down system specifications, though not in plain English. From there, based on the specification, the engineers develop a set of theorems about the behavior of a system. These theorems are verified through mathematical proofs—to ensure that the system behavior is logically consistent and is, indeed, the desirable one. As this allows designers and engineers to discover flaws in usability even before the design gets implemented into code, it prevents costly errors from emerging in the later stages of development. Finally, once the model is specified and verified, implementation can begin via converting the specification into code.

Formal methods have many advantages: they help disambiguate system specifications and articulate implicit assumptions. They also expose flaws in system requirements, and their rigor enables a better understanding of the problem. Because they use a formal language, many colleagues can verify the specifications independently—thereby solving errors early on in the development process. However, formal methods cannot fully replace standard quality assurance methods. This is why they are just a complementary technique in system design.

Answer a Short Quiz to Earn a Gift

Question 1

Why are formal methods used in system design?

1 point towards your gift

Question 2

What is the purpose of formal specification in formal methods?

1 point towards your gift

Question 3

What is one major benefit of applying formal methods during the early design phase?

1 point towards your gift

Question 4

Why can't formal methods fully replace traditional quality assurance techniques?

1 point towards your gift

Question 5

How do formal methods promote collaboration among team members?

1 point towards your gift

Better luck next time!

0 out of 5 questions answered correctly

Do you want to improve your UX / UI Design skills? Join us now

Congratulations! You did amazing

5 out of 5 questions answered correctly

You earned your gift with a perfect score! Let us send it to you.

Letter from IxDF

Check Your Inbox

We’ve emailed your gift to name@email.com.

Do you want to improve your UX / UI Design skills? Join us now

Literature on Formal Methods

Here’s the entire UX literature on Formal Methods by the Interaction Design Foundation, collated in one place:

Learn more about Formal Methods

Take a deep dive into Formal Methods with our course Formal Design Methods: Formalism and Design .

You've just fixed a usability problem and are about to release the updated app or website... but have you really got it right this time? Is there an unusual use case you haven't thought of? Can you ever be sure? Thankfully, applying formal methods to your design can help you.

Formal methods are usually employed in mathematical and scientific fields, as the preferred way of presenting information. Many mathematical and scientific theories we know today are in fact written in a formal manner. The scientific theory of gravity, for instance, is presented with all variables, parameters, and factors clearly named and defined, and all assumptions explicitly stated. The power of formalism is that it allows a concept, theory, or model to be completely and clearly defined, so anyone who reads it can easily spot any gaps in logic or exceptions to the rule.

When applied to design, formal methods allow designers to flesh out the entire product (e.g., all the states of an app) explicitly and completely. This allows designers to spot potential flaws in the design (e.g., incomplete user flows, links, or buttons that are not defined in the design, etc.) in less time.

In this course, you will learn how various forms of formal notation and methods can help you catch potentially disastrous problems early in a design process. Formal design methods will also give you confidence that the delivered systems are both what you intended and as free from major usability flaws as possible. You will also learn how to use formal methods to increase the probability that the developers will deliver precisely the design you intended.

All open-source articles on Formal Methods

Please check the value and try again.

Open Access—Link to us!

We believe in Open Access and the democratization of knowledge. Unfortunately, world-class educational materials such as this page are normally hidden behind paywalls or in expensive textbooks.

If you want this to change, , link to us, or join us to help us democratize design knowledge!

Share Knowledge, Get Respect!

Share on:

or copy link

Cite according to academic standards

Simply copy and paste the text below into your bibliographic reference list, onto your blog, or anywhere else. You can also just hyperlink to this page.

Interaction Design Foundation - IxDF. (2016, September 9). What are Formal Methods?. Interaction Design Foundation - IxDF.

New to UX Design? We're Giving You a Free eBook!

The Basics of User Experience Design

Download our free ebook “The Basics of User Experience Design” to learn about core concepts of UX design.

In 9 chapters, we’ll cover: conducting user interviews, design thinking, interaction design, mobile UX design, usability, UX research, and many more!

A valid email address is required.
316,656 designers enjoy our newsletter—sure you don’t want to receive it?