Kevin, Rational has a tool, Rational Purify Ada, that catches precisely the sort of errors you are worried about, even from non-Ada 3rd party libraries. This tool was used on our own software package that was "sabotaged" by a 3rd party library that had two errors -- one was a memory leak (continual growth slowing the process and eventually killing it) and the other was a case of using access memory after it was returned (causing those nasty once-in-a-long-while crashes). Both were diagnosed very quickly with Rational Purify. The biggest point of this is that unless you have a very limited application, the source you write is not the only place where errors can come from. Rather than limit yourself to the use of reference-counting objects which can make for awkward constructions in the code you write and only protects a portion of the application executable, I'd strongly recommend use of a tool that can test and verify your entire executable code for all sorts of memory referencing errors. Regards, Steve Steven Deller Rational Software Corporation 410 757 6924 [log in to unmask] P.S. Sorry to Team-Ada for the blatant commercial -- Purify is not my main interest in Rational, but I have been quite impressed with its capabilities for exactly this situation -- high-availability applications. On Monday, March 01, 1999 8:06 AM, Lipscomb, Kevin [SMTP:[log in to unmask]] wrote: > My development team is responsible for writing and maintaining applications > for which high-availability is a requirement. Once launched, our programs > should run continuously for days or weeks. > > As one might imagine, memory leaks are a great concern to us. Does anyone > know of a collection of software components in Ada that provide > reference-counted objects? How about bindings, or binding wrappers, that > provide reference-counting? > > In the book, _Design Patterns_, reference-counted objects are covered in > the > section on the pattern Proxy. Unfortunately, I have not read the entire > book yet (I will, I promise.) Can anyone recommend other patterns that are > particularly applicable in the domain of high-availability software > applications -- design patterns that we'd really be foolish to be without? > > -- Kevin Andrew Lipscomb > -- CV, PGP keys, etc: http://users.exis.net/~klips