John Barnes, who is probably known to most Ada programmers, have written a booklet on how to use Ada 2005 to build safe and secure software.
It is, to no surprise, a good read.
The booklet is divided into 13 chapters, each in its own PDF file:
- Chapter 1 Safe Syntax
- Chapter 2 Safe Typing
- Chapter 3 Safe Pointers
- Chapter 4 Safe Architecture
- Chapter 5, Safe Object Oriented Programming
- Chapter 6, Safe Object Construction
- Chapter 7, Safe Memory Management
- Chapter 8, Safe Startup
- Chapter 9, Safe Communication
- Chapter 10, Safe Concurrency
- Chapter 11, Certified Safe with SPARK
- Chapter 12, Conclusion
The entire booklet is available here.
I’d like to end this news item with a quote from the booklet:
In terms of software, the languages Ada and C have very different attitudes to freedom. Ada introduces restrictions and checks, with the goal of providing freedom from errors. On the other hand C gives the programmer more freedom, making it easier to make errors. One of the historical guidelines in C was “trust the programmer”. This would be fine were it not for the fact that programmers, like all humans, are frail and fallible beings. Experience shows that whatever techniques are used it is hard to
write “correct” software. It is good advice therefore to use tools that can help by finding bugs and preventing bugs. Ada was specifically designed to help in this respect. There have been three versions of Ada Ada 83, Ada 95 and now Ada 2005.
The purpose of this booklet is to illustrate the ways in which Ada 2005 can help in the construction of reliable software, by illustrating some aspects of its features. It is hoped that it will be of interest to programmers and managers at all levels.