Static Analysis for Multi-core and Multi-threaded Applications

  • Page 1 of 1
    Bookmark and Share

Development teams are embracing multicore 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, multicore 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 multicore applications. This lead to a new program-analysis engine from GrammaTech that identifies data race conditions and other serious concurrency defects. The engine is being incorporated into the company’s popular CodeSonar static-analysis tool. 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.

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. 

GrammaTech, Ithaca, NY. (607) 273-7340. [].