Home | Contact | Pricing | News | Partners | Mailing List | Site Map
Gnat Pro. Powerful tools. Frontline Support. Ada expertise.

Gem #43: Safe and Secure Software : Chapter 7, Safe Memory Management

Author: John Barnes

Abstract:

Welcome back the Ada Gems series! We hope you had a great summer.

Gem #43 is the seventh chapter of John Barnes’ new booklet:

Safe and Secure Software: An Introduction to Ada 2005.

Over the coming months, we will be publishing all thirteen chapters of the booklet. In the attachment at the bottom of Gem #30 you can access the contents and bibliography for the entire booklet.

« Previous Gem | Next Gem » | Gems Menu

Let’s get started…

The memory of the computer provides a vital part of the framework in which the program resides. The integrity of the memory contents is necessary for the health of the program. There is perhaps an analogy with human memory. If the memory is unreliable then the proper functioning of the person is seriously impaired.

There are two main problems with managing computer memory. One is that information can be lost by being improperly overwritten by other information. The other is that the memory itself can become filled and irrecoverable, so that no new information can be stored. This is the problem of memory leaks.

Memory leak is an insidious fault since it often does not show up for a long time. There was an example of a chemical control program that seemed to run flawlessly for several years. It was restarted every three months because of some external constraints (a crane had to be moved which necessitated stopping the plant). But the schedule for the crane changed and the program was then allowed to run for longer – it crashed after four months. There was a memory leak which slowly gnawed away at the free storage.

Read Chapter 7 in full

Note: All chapters of this booklet will, in time, be available on the Ada 2005 home page.

application/pdf
700.7Kb
 

Posted by Posted in Ada / Ada 2005, Development Log, Devt log - Gem of the Week

Have your own idea for a Gem?

If you have an idea for a Gem you would like to contribute please feel free to contact us at: gems@adacore.com

Discussion

One response to “Gem #43: Safe and Secure Software : Chapter 7, Safe Memory Management”


  1. Raoul Duke said:

    “As a consequence a garbage collector is not appropriate for a general purpose language and especially to one used for low-level, real-time and safety-critical applications.”

    i thought by now there were at least some systems which demonstrated real time gc. perhaps it gets into semantic nuances.

    http://www.acmqueue.org/modules.php?name=Content&pa=showpage&pid=454

Leave a Reply