Last week, I presented a paper at the HIPS 2013 workshop at Boston, MA, USA. The paper was entitled:
Interactive Debugging of Dynamic Dataflow Embedded Applications
Debugging parallel and concurrent applications is well-recognized as a time-consuming task, which often requires a significant part of the application development process. In the context of embedded systems, Multi-Processor-System-on-Chip (MPSoC) architectures feature numerous multicore processors which may be coupled with heterogeneous processors like Digital Signal Processors (DSPs) and/or application-specific accelerators. In this situation, it is important that developers are provided with high-level programming environments able to efficiently exploit these architectures, as well as suitable debugging tools.
Dataflow programming models were explicitly designed to program parallel architectures and they have the ability to abstract away heterogeneous computing complexity. In addition, the stream-processing aspect of multimedia algorithms naturally exhibits data-dependency graphs, which simplifies application design and implementation.
In this paper, we propose a new approach for interactive debugging of dataflow applications. Going beyond the long-established ability of interactive debuggers to support sequential programming languages, we describe the functionalities they should be able to provide to debug embedded and parallel dataflow applications. Then we demonstrate our solution to this problem with a proof-of-concept debugger targeting the dataflow framework used on an industrial MPSoC platform. We also explain the development challenges we faced during the implementation of this GDB-based debugger and illustrate its efficiency through a case study of a video decoder debugging session.
The acceptation rate of the workshop was 31% (9 accepted papers out of 29).