Solutions

These techniques go back decades and have been given various names: Formal Methods, High Assurance Software, Evaluation Assurance Levels, et. al.

Those who want really reliable software will find that they must find means of avoiding the majority of bugs to start with, and as a result the programming process will become cheaper.

— Edsger Dijkstra, 1972

Techniques and Technologies

Static Analysis

Analysis Tools and Linters to Improve Code Quality and Avoid Bugs

Formal Verification of Systems

awesome-formal-verification: Welcome to the ultimate list of resources for formal verification techniques and tools. This repository aims to provide an organized collection of high-quality resources to help professionals, researchers, and enthusiasts stay updated and advance their knowledge in the field.

Secure Operating systems

Today’s operating systems tend to fall into one of several categories.

More info on the Secure OSes page.

Does it Work

HACMS