SIMULIA Uses TotalView to Find and Fix Bugs Quickly in 3D Simulation Software

SIMULIA makes realistic simulation that improves product performance, reduces physical prototypes, and drives innovation. Historically, the task of finding and fixing memory bugs in their 3D simulation software has been a time-consuming and complex task for SIMULIA developers; finding and then understanding these bugs would take a considerable amount of effort and was very expensive because it involved a great deal of human time and attention. The problems would occur in fully optimized builds when run on loaded machines, where there is strong contention for memory between processes, and would also usually occur in very long running jobs that often take days. In many cases there would be no core dump, and even when there was, the core dump would point to the result of the corruption, not its source, which can be quite a distance away from the point of the crash.

TotalView Helps SIMULIA…

icon-code-search

Find and fix memory problems quickly.

icon-code-scan

Run automated code base scans.

icon-process

Improve their overall QA process.

Solve the Mysterious and Elusive Problems

Tremendous attention and resources are dedicated to ensuring the high quality of SIMULIA products. Nevertheless, during development a few mysterious problems may creep in. They occur very rarely (once in about every 100 or even 1000 runs), but when they do occur, they defy all human efforts to capture them. These few problems could also potentially draw tremendous resources.

In most cases, it was found that the mysterious and elusive problems were being caused by subtle memory problems that would flee at a moment’s notice. After many frustrating attempts to diagnose these issues, it became clear that SIMULIA developers needed a better way to gain insight into what was happening with memory. Thus, the search for a proper tool began. SIMULIA was looking for something that would allow them to intercept such problems from the start, to capture their cause, and to fix them at their origin.

“We switched from Purify to MemoryScape for debugging memory problems in our application. MemoryScape had the functionality and support we needed. When a problem occurs, MemoryScape’s GUI provides a very clear view of the source of the problem, and its scripting interface allows us to automate the bug detection process and use it preventively. Now, we run MemoryScape continuously, around the clock. It has been very effective in uncovering the hidden latent errors in our code. It finds problems that defy the regular testing methods, and it allows us to fix them proactively.”
Nick Monyatovsky Technology Manager Dassault Systèmes SIMULIA

Accelerates the Ability to Identify Where and Why Problems Occur

SIMULIA ultimately chose to employ TotalView MemoryScape, an easy-to-use, graphical, interactive memory debugger that helps developers identify, inspect and resolve difficult memory problems in C, C++ and FORTRAN, even in complex multi-process and multi-threaded programs. Designed to be an integrated part of the software development process, MemoryScape allows development teams to watch for memory leaks and monitor memory usage while an application is running; they can monitor heap memory, view memory usage, locate memory leaks, track memory events, view corrupted memory, save and compare memory states and compile sophisticated memory reports. MemoryScape is non-intrusive, so developers can find memory problems without recompiling, and without waiting all day for even the smallest test to run.

Since SIMULIA began using MemoryScape, developers there have been able to find memory problems easily and fix them very quickly.

“MemoryScape accelerates our ability to identify where and why problems occur in our software. When a problem occurs, MemoryScape’s GUI provides a very clear view of the source of the problem, and its scripting interface allows us to automate the bug detection process and use it preventively. Now, we run MemoryScape continuously, around the clock. It has been very effective in uncovering the hidden latent errors in our code. It finds problems that defy the regular testing methods, and it allows us to fix them proactively.”
Nick Monyatovsky Technology Manager Dassault Systèmes SIMULIA

Very Effective, Inexpensive Way to Find Memory Problems

The feature of MemoryScape that SIMULIA developers have found to be the most valuable in their development process is the fact that the tool is scriptable and therefore can be run automatically. When the debugger finds a problem, it gives developers the information to see it right away and the fix is easy after that. This has led to tremendous cost and time savings at SIMULIA.

On the initial scan, MemoryScape found about 12 problems—and in every instance, it was a memory bug. MemoryScape gives SIMULIA developers a very effective, inexpensive way to find memory problems without spending a lot of time on the process. The data provided by MemoryScape’s reporting mechanism is detailed enough for developers to see exactly where a problem lies. When MemoryScape triggers an error, it saves a memory snapshot—a very good picture of the place of the error, the memory contents, and the context of execution at that time.

SIMULIA developers have also found MemoryScape to be faster in comparison to other tools on the market that are much more troublesome to work with, slower, and require expensive instrumentation.

“MemoryScape is fast enough that we use it to cover a lot of ground. It has provided us with a very efficient way of improving our QA substantially.”
Nick Monyatovsky Technology Manager Dassault Systèmes SIMULIA

Developers also like the feature of visualizing and analyzing memory leaks, and classifying them by source file. This information is invaluable, and is very hard to obtain by using anything else. Another major strength of MemoryScape is its ability to execute and understand parallel MPI jobs, a key area of SIMULIA’s focus right now. Tools that operate in this environment are very important to the company’s developers.

Quickly Solve Your Debugging Challenges

TotalView helps organizations like SIMULIA intuitively diagnose and understand their complex code. See for yourself how TotalView will help you do the same.

START FREE TRIAL