TotalView Technologies launches ReplayEngine

New product helps developers resolve code problems more rapidly: TotalView Technologies, a provider of dynamic software analysis tools for serial and parallel codes, today announced the launch of ReplayEngine, a new product that allows developers to record and replay their programs during execution. ReplayEngine dramatically reduces time to market while increasing developer efficiency and productivity. “ReplayEngine is a breakthrough product,” said Rob Williams, TotalView Technologies’ vice president of sales and marketing. “By radically changing how developers approach solving their code problems, TotalView Technologies is enabling a huge leap forward in productivity. We believe ReplayEngine will make a significant impact on the industry.” A recent study found that isolating and removing defects is the most time-consuming and costly activity in software development. Some of the most vexing problems in parallel application development are those in which the coding error and the symptomatic failure — the crash or data malformation — are well separated. “ReplayEngine is exciting new technology,” said Paul Gray, Supercomputing Conference Education Program Chair. “It is ideally suited for a variety of instructional purposes in the classroom. From a software engineering perspective, being able to record and replay program execution will go a long way in improving the effectiveness and efficiency of the troubleshooting phase of software development, which is a crucial component of high-performance computing education.” Conventional development requires developers to return to an earlier stage of program execution and gradually work toward the cause of the failure after it has occurred. ReplayEngine offers a new approach by allowing developers to reverse execution and identify software misbehavior as it happens. ReplayEngine virtually eliminates the laborious trial and error that conventional tools require. Working backward lessens both the risk of missing problems that involve elements of randomness, and the time needed to recreate — or capture — the conditions of failures. This significantly reduces overall development time. Giving developers the ability to examine the execution history of the program frees them from the tiresome labor of rerunning their program many times during a single troubleshooting session. “When troubleshooting with ReplayEngine, I can much more directly and efficiently locate bugs in my code,” said Dan Hiepler, senior developer at computational fluid dynamics software company Intelligent Light. “It allows me to work backwards from the program crash towards the defect. This is much nicer than having to repeatedly set breakpoints and restart my program from the beginning.” ReplayEngine extends the capabilities of TotalView, the company’s comprehensive source code analysis and memory error detection tool, making available several new stepping operations, including line-by-line reverse execution, and a “run back to” command that reverse-jumps longer distances within the code. With ReplayEngine, developers can couple reverse-step and forward-step commands to compare any set of points along the captured execution sequence. Fault identification is much easier and faster. Additional features allow developers to:
  • Follow the clues; start with the failure and work toward the cause;
  • Minimize the challenge of tricky reproducers; debug without repetition and randomness;
  • Replay thread context switches exactly as they happened;
  • Seamlessly and clearly switch between record mode and replay mode;
  • Debug parallel applications using the MPICH 2.0 Message Passing Interface (MPI) library on x86 32-bit Linux platforms;
  • Examine the historical state of heap memory in conjunction with TotalView’s memory debugging feature.

“Our goal is to make the application development process as easy and efficient as possible for programmers,” continued Williams. “ReplayEngine has the power to significantly reduce cost, time and complexity, effectively redefining the development process. We believe this new technology will provide tremendous value to our customers in commercial software development, scientific and technical computing, and the academic community.” ReplayEngine is currently available on Linux-x86 and Linux-x86-64. For more information about ReplayEngine, or to purchase the product, please visit: www.totalviewtech.com/products/replayengine.html .