04-12-2012, 03:22 PM
INSURE++ - AUTOMATIC RUNTIME DEBUGGER
INSURE.docx (Size: 26.41 KB / Downloads: 17)
Introduction
Insure++ is a unique programming environment for the development of Total Quality Software. Using Insure++, you can produce more robust, better optimized, and higher quality software. Development and maintenance tasks are faster and simpler.
Insure++'s tools automatically detect large classes of programming and runtime errors. They quickly pinpoint algorithmic anomalies, bugs, and deficiencies at both compile time and runtime.
Like any other tool, Insure++ is only valuable if it is used. To assure that Insure++ becomes a key element in your working environment, we have designed it for easy, quick use. The application of Insure++ to your code, its documentation and user interface, and the reports it generates are all clear and intuitive. Using the default parameters, you can install Insure++, run through an example, and be starting on the road to Total Quality Software within an hour.
Pinpointing programming errors
Two of the most serious software related problems are the time taken to debug (and therefore deliver) a product and the number of bugs that are not detected during testing and which are only found at customer sites.
These problems arise in many different ways. Insure++ finds a wide variety of programming and memory access errors, including:
• Memory corruption due to reading or writing beyond the valid areas of global, local, shared, and dynamically allocated objects
• Operations on illegal, or unrelated pointers
• Reading uninitialized memory
• Memory leaks
• Errors allocating and freeing dynamic memory
• String manipulation errors
• Incompatible variable declarations
• Mismatched variable types in printf and scanf argument lists
Checking calls to libraries
Just as it does with memory reference errors, Insure++ finds all library interface errors.
• Mismatched argument types or function declarations.
• Invalid parameters in library calls.
• Errors returned by library calls.
Insure++ knows about every standard UNIX system call, the X Window system, Motif, and many other popular libraries. On each library call, Insure++ checks that every variable is of the correct type and is within its valid range. Insure++ is the only tool with the intelligence to insure that these libraries are called correctly.
If the source code for a third party library is available, Insure++ can automatically check it if you rebuild the library with Insure++ as you do your own source code. If you don't have the source code, Insure++ includes utilities which allow you to make a "definition" of their interfaces. Once the interface is completely specified, these libraries will receive the same comprehensive checking that Insure++ provides for standard libraries.
What is Total Quality Software?
Why use Insure++ for your software development, support, and maintenance? Put simply, Insure++ helps you produce Total Quality Software throughout the entire software life cycle.
Total Quality Software, or TQS, has the goal of developing, delivering, and maintaining software products with fewer bugs and better performance, and providing quicker and more accurate response to customer issues.
Debugging technologies
Insure++ is a source-level automatic runtime debugger, and you may be wondering why we chose this particular technology instead of one of the other competing debugging technologies. Source instrumentation gives a much deeper understanding of the code being checked than other technologies. This allows more complicated bugs to be detected and is very expandable. Expandability allows us to continually add new features and new classes of bugs to Insure++. You can expect us to continue to follow this path in the future. We are excited about adding more and more complicated errors to Insure++'s growing list of bugs detected.