raj_mmm9
Age : 45 Joined : 08 Mar 2008 Posts : 1850
 | Subject: Quality Tools for Large Scale software development Fri 11 Apr - 13:52 | |
| Here is a list of the most popular tools for C/C++ Unix executables. All commentary is strictly the opinion of the editor. Five stars are reserved for the best tools.
Memory Leak Checking
Dynamic Leak Check
Dynamic Leak Check finds memory leaks, boundary overflows and other heap based errors.
Download the manual for Dynamic Leak Check now by clicking here User Guide
Homepage: Dynamic Memory Solutions Platforms: Solaris and Linux Runtime Models: 32 and 64 bit, multithreading Advantages: No recompile or relink required. High performance and usable on the largest of executables. Disadvantages: Error checking is not as well rounded as some other tools. More platforms need to be supported. Stars: ***** Insure++
Insure++ finds memory leaks, boundary overflows, other heap based errors and stack errors. Insure++ is an excellent tool for source code based debugging. It find more errors than any other tool on the market.
Homepage: Parasoft Insure++ Platforms: Widely ported Runtime Models: 32 and 64 bit, multithreading Advantages: Error checking is very complete. Disadvantages: Both source code and link time instrumentation are required, this is a major hassle for large source code bases. Performance is an issue for large executables. Stars: ****
Purify
Purify finds memory leaks, boundary overflows, other heap based errors. The tool is the industry standard tool for leak checking
Homepage: Rational Software Purify Platforms: Widely ported Runtime Models: 32 and 64 bit, multithreading on most platforms Advantages: Error checking is good. Disadvantages: Both link time and compile time instrumentation is required. The Instrumentation is a major hassle for large source code bases. Performance is an issue for large executables. Rating: ****
Valgrind
Valgrind finds memory leaks, boundary overflows, other heap based errors and some stack errors. The tools use a unique CPU simulator to find errors. From a computer science standpoint, it is really quite interesting. The tool is free so the price is right.
Homepage: Valgrind Platforms: Linux only Runtime Models: 32 Advantages: Error checking is acceptable. No instrumentation is required. Disadvantages: Performance is an issue. Not always 100% accurate for leak checking. Linux is the only supported platform. Rating: ****
mpatrol
mpatrol finds memory leaks, boundary overflows and other heap based errors. The tool is free.
Homepage: mpatrol Platforms: Widely ported Runtime Models: 32 and 64, multithreading Advantages: Error checking is pretty good. No instrumentation is required on some platforms. Disadvantages: Performance is a serious issue. Rating: ***
Code Coverage
Dynamic Code Coverage
Dynamic Code Coverage is certainly the best tool on the market today. It combines the depth of decision and branch coverage with the ease of no instrumentation.
The Dynamic Code Coverage user guide may be downloaded by clicking on this link: User Guide
Homepage: Dynamic Memory Solutions Platforms: Solaris and Linux Runtime Models: 32 and 64 bit, multithreading Advantages: No recompile or relink required. Function, line, decision and branch coverage. High performance and usable on the largest of executables. Disadvantages: More platforms need to be supported. Stars: ***** Bullseye Coverage
Bullseye is a very popular and useful product. The use of decision and condition coverage gives it a leg up on the competition.
Homepage: Bullseye Coverage Platforms: Widely ported Runtime Models: 32 and 64 bit, multithreading Advantages: Function, line, decision and condition coverage. Disadvantages: Requires compile time instrumentation, for large executables this is a major obstacle. Stars: **** Pure Coverage
Rational Pure Coverage is the industry standard tool. It supports only function and line coverage however.
Homepage: Pure Coverage Platforms: Widely ported Runtime Models: 32 and 64 bit, multithreading on most platforms Advantages: Attractive GUI. Industry standard product Disadvantages: No decision, condition or branch coverage. Requires link time instrumentation, for large executables this is a major obstacle. Stars: *** Insure++ TCA
TCA is an add on to Parasoft Insure++. It supports only function and basic block coverage.
Homepage: Pure Coverage Platforms: Widely ported Runtime Models: 32 and 64 bit, multithreading Advantages: Attractive GUI. Well integrated with Insure++ Disadvantages: No decision, condition or branch coverage. Requires compile time instrumentation, for large executables this is a major obstacle. Stars: *** |
|