VME and Critical Systems
home
articles & topics
product search
White Papers
newswire
E-letter
E-cast Schedule
articles >
White paper
multicore
RSS Link
Industry News:
multicore...
Technology Partnerships:
multicore...
Contracts:
multicore...
New Products:
multicore...
People:
multicore...
Mergers and Acquisitions:
multicore...
Conferences and Awards:
multicore...
Media and Education:
multicore...
Standard Certifications and References:
multicore...






White Paper: Ensuring Quality in Multi-threaded Applications

By
Coverity

02Most developers would agree that consumers of software today continually demand more from their applications. Because of its pace of evolution to date, the world now anticipates a seemingly endless expansion of capabilities from their software, regardless of where that software is applied. For the last 40 years of computing, Moore's Law has held true, with the number of transistors available in an integrated circuit doubling approximately every two years. This constant pace of innovation provided software developers with critical hardware resources, enabling them to expand the features and functionalities of their applications without concern for performance. However, while Moore's Law still is holding steady, single-core processing has reached its performance ceiling. In response, hardware manufacturers have developed new multi-core (or multi-processor) devices to accomplish the speed gains to which the world had grown accustomed.

Today, the world of software development is presented with a new challenge. To fully leverage this new class of multi-core hardware, software developers must change the way they create applications. By turning their focus to multi-threaded applications, developers will be able to take full advantage of multi-core devices and deliver software that meets the demands of the world. But this paradigm of multi-threaded software development adds a new wrinkle of complexity for those who care the utmost about software quality. Concurrency defects such as race conditions and deadlocks are software defect types that are unique to multi-threaded applications. Complex and hard-to-find, these defects can quickly derail a software project. To avoid catastrophic failures in multi-threaded applications, software development organizations must understand how to identify and eliminate these deadly problems early in the applications development lifecycle.

Full Text: Download PDF