A survey of systems for detecting serial run‐time errors

This paper evaluates the ability of a variety of commercial and non‐commercial software products to detect serial run‐time errors in C and C++ programs, to issue meaningful messages, and to give the line in the source code where the error occurred. The commercial products Insure++ and Purify performed the best of all the software products we evaluated. Error messages were usually better and clearer when using Insure++ than when using Purify. Our evaluation shows that the overall capability of detecting run‐time errors of non‐commercial products is significantly lower than the quality of both Purify and Insure++. Of all non‐commercial products evaluated, Mpatrol provided the best overall capability to detect run‐time errors in C and C++ programs. Copyright © 2006 John Wiley & Sons, Ltd.