Design

GrammaTech Announces Static Analysis for Multi-core and Multi-threaded Applications

9th May 2011
ES Admin
0
GrammaTech, Inc., a leading manufacturer of source-code analysis tools, today announced that it has developed a sophisticated new program-analysis engine that identifies data race conditions and other serious concurrency defects. The engine is being incorporated into the company’s popular CodeSonar static-analysis tool.
Development teams are embracing multi-core processors such as the new quad-core Intel® Core™ i7 processor because they are the most promising avenue to better computing performance. This is because traditional performance-improvement approaches, such as increasing clock speed, decreasing memory access times, and clever scheduling of instructions are no longer yielding major improvements. Unfortunately, multi-core systems are much less forgiving of programming errors and can be extremely difficult to debug with currently available tools, especially when bugs are intermittent and difficult to reproduce.

The severity of the problem caught the attention of the Defense Advanced Research Projects Agency (DARPA), which awarded a $749k contract to GrammaTech to develop an innovative approach to eliminating serious defects that commonly plague multi-core applications. The resulting analysis pinpoints such problems without testing, slashing development cost, and reducing the risk of defects slipping into production. The analysis can also be applied to multi-threaded applications running on a single processor.

Paul Anderson, GrammaTech’s vice president of Engineering, commented, “The analysis has already proven itself in pilot deployments. For example, it identified serious defects in a mission-critical avionics application being developed by an aerospace company. This is very significant because avionics applications are developed with much more care and testing than most other applications. Yet GrammaTech’s deep concurrency analysis uncovered significant problems in the application.”

Anderson continued, “The analysis catches the type of concurrency problems that are the most difficult for developers. It creates an abstract model, of what locks are held by what threads, and considers possible interleavings. By automating this process, it finds situations in which code is susceptible to problematic interleavings, which developers can miss through manual analysis.”

The technology is compatible with a wide range of compilers, including ARM RealView, CodeWarrior, GCC, G++, Green Hills, HI-TECH, IAR, Intel C/C++, Microsoft Visual Studio, Renesas, Sun C/C++, Texas Instruments, CodeComposer, Wind River, and many others. For some run-time environments, it may be necessary to model synchronization primitives, but the system has been designed to make this easy.

Product Spotlight

Upcoming Events

View all events
Newsletter
Latest global electronics news
© Copyright 2024 Electronic Specifier