Analyzing Concurrent Programs Title for Potential Programming Errors

Qichang Chen, Liqiang Wang, Ping Guo, He Huang · Advances in computer and electrical engineering book series · 2011

Today, multi-core/multi-processor hardware has become ubiquitous, leading to a fundamental turning point on software development. However, developing concurrent programs is difficult. Concurrency introduces the possibility of errors that do not exist in sequential programs. This chapter introduces the major concurrent programming models including multithreaded programming on shared memory and message passing programming on distributed memory. Then, the state-of-the-art research achievements on detecting concurrency errors such as deadlock, race condition, and atomicity violation are reviewed. Finally, the chapter surveys the widely used tools for testing and debugging concurrent programs.

Read the paper · More papers on PaperTik