DEBUGGING CONCURRENT MPSOC SOFTWARE WITH BUG PATTERN DESCRIPTIONS

As MPSoCs become key components for the electronics industry, the programmability problem poses an ever increasing burden on the software development process. In addition to the difficulty of writing parallel applications, concurr ency bugs are usually hard to find, understand and reproduce. Programmers writing parallel software need more support from the debugging tools in order to understand harmful effects of concurrent interactions. This paper introduces a debugg er framework that detects concurrency bugs dynamically, base d on user defined bug pattern descriptions. The framework can be configured to address different MPSoCs and different lowlevel APIs.

[1]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[2]  D Kranzlmüller,et al.  Debugging with the MAD Environment , 1997, Parallel Comput..

[3]  Eitan Farchi,et al.  Concurrent bug patterns and how to test them , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[4]  Yuanyuan Zhou,et al.  Learning from mistakes: a comprehensive study on real world concurrency bug characteristics , 2008, ASPLOS.

[5]  Thomas Ball,et al.  Finding and Reproducing Heisenbugs in Concurrent Programs , 2008, OSDI.

[6]  A. Cortes,et al.  A Transaction Level Assertion Verification Framework in SystemC: An Application Study , 2009, 2009 Second International Conference on Advances in Circuits, Electronics and Micro-electronics.

[7]  Chao Wang,et al.  Universal Causality Graphs: A Precise Happens-Before Model for Detecting Bugs in Concurrent Programs , 2010, CAV.

[8]  Chao Wang,et al.  On interference abstractions , 2011, POPL '11.