VTK/SoftwareQuality/Valgrind/Fall2011
From KitwarePublic
Jump to navigationJump to search
Testing is critical to high quality software. There are a number of aspects to the VTK's software quality. One important aspect is valgrind. Valgrind detects a number of dynamic memory defects.
This experiment seeks to reduce VTK's valgrind defects to 0 and keep them at 0.
This experiment uses the DMAIC methodology of the Six Sigma management process to "Define", "Measure", "Analyze", "Improve" and "Control" valgrind defects in VTK.
The basic methodology (from Wikipedia) consists of the following five steps:
- Define process goals that are consistent with customer demands and ITKv4's strategy.
- Measure key aspects of the current process and collect relevant data.
- Analyze the data to verify cause-and-effect relationships. Determine what the relationships are, and attempt to ensure that all factors have been considered.
- Improve or optimize the process.
- Control to ensure that any deviations from target are corrected before they result in defects. Set up pilot runs to establish software quality, move on to production, set up control mechanisms and continuously monitor the process.
Define
Keep the number of VTK valgrind defects to 0.
Measure
As of November 16, 2011, there were 175 valgrind defects.
- 22 tests had defects
- 12 tests had memory leaks
- 6 tests had uninitialized memory conditionals
- 4 tests had uninitialized memory reads
- 2 test had potential memory leaks
- 1 test has mismatched memory/deallocate