Improving Software quality - checking for memory errors and thread data races

In December I had fun participating in a couple of web seminars about a product for finding common memory errors as well as thread deadlocks and data races:  Intel Parallel Inspector.   Many of you might have missed these so let me tell you about them.  The first web seminar was one I got to present at MSDN.    At this ( click here for streaming link, click here for wma link) MSDN web seminar I provide an introduction to Intel Parallel Inspector and demonstrate how to use it on some sample code.   I cover both analysis of memory issues and thread data races.   I introduce the use of suppression filters, but ran out of time before I could cover command line interface.     Watch and send my your comments about what you like about this web seminar or wish I had included.

The second web seminar I mention was also in December.   I hosted this intel web seminar and Matt Dunbar the director of performance technology at Simular presented. This web seminar was part of the Intel Real World Parallelism series.    Just follow the link here. Matt Dunbar spoke about the Simulia product and how they use Intel Parallel Inspector in their development process.  A couple of points Matt made are listed below:

  • Their code base has over 1 million lines of code.  They had Intel Parallel Inspector up and running from within Visual Studio and command line interface within one hour.

  • With threading error analysis in Parallel Studio, it is possible to write simpler component tests and have errors trapped


Memory analysis and thread data race detection are complex analysis operations.  Using multiple small component like tests match our recommended usage model and it was great to hear Matt recommend similar ideas.   Matt also talks about their usage in interactive mode and in batchmode.  Just select the "Real World Parallelism" tab on the web site.  Check the box " How to Use Intel® Parallel Studio to Streamline Code Development in a Multicore Environment - presented by SIMULIA."

The Intel web seminar requires free registration.  I hope you find them interesting; if so download an evaluation copy of Intel® Parallel Amplifier and try it out.

http://software.intel.com/en-us/
Categories:
For more complete information about compiler optimizations, see our Optimization Notice.

Comments

's picture

I am a big believer in continually trying to improve my skills, knowledge and most of all coding standards. By using the techniques above (as well as others) the quality of software can be improved and over time so will your skills. Let us know your thoughts on the techniques listed below.
1. Step back and plan
2. Document before coding
3. Adopt a coding standard and stick to it.
4. Write test plans and make sure they are used
5. Reviews.