Nepedia
Back to Discover
Fluent Reader
💻

Formal verification

technology Maturity 5-7 Next article →

How can we be sure a computer system is perfect? We use a method called formal verification to find out. This process uses math to prove if a system is correct. It checks the system against a formal specification. A specification is a set of rules that a system must follow.

This is more than just testing. Testing only checks some things. Formal verification uses math to check everything. This helps make hardware and software very safe. It is even used to reach the highest security level, called EAL7.

There are two main ways this work happens. The first way is called model checking. This method explores every possible state in a mathematical model. It can be fully automatic, which is a big advantage. However, it can be hard to use on very large systems. The second way is called deductive verification. This method creates mathematical proof obligations. People use proof assistants like Isabelle or Rocq to finish these proofs.

This way can be harder because a person must understand the system well. They must explain how it works to the math tools.

Scientists and engineers have used these ideas for a long time. For example, a paper from 1983 discussed verifying hardware designs. Today, many big hardware companies use these math tools. This is because errors in hardware can cost a lot of money. In the software world, things are moving a bit slower. But some very important software is already finished.

The CompCert C compiler is a great example of verified software. It is a tool that follows most ISO C rules perfectly. This makes the code it creates very reliable.

Many real systems use these special math proofs. One famous example is the seL4 operating system kernel. This is a high-assurance system that people can trust. Another example is CertiKOS, which a team at Yale made in 2016. The team was led by a scientist named Zhong Shao. There are also systems like PikeOS and the ORIENTAIS operating system.

Even large computer networks use math models now. Companies like Cisco use these tools for network software. These numbers and names show how serious this work is.

You can think of this like a very strict rulebook. Imagine you build a bridge. Testing is like driving one heavy truck across it to see if it holds. Formal verification is like using math to prove the bridge can never break. It looks at every possible way the bridge could be used.

It checks every bolt and every beam using logic. This makes sure the bridge follows the rules of physics. In the same way, formal verification makes sure computers follow the rules of math. This keeps our digital world working exactly as it should.

456 words

Where will your curiosity go next?

Keep exploring at your chosen reading level.

More to explore

What is Nepedia?

A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.