Sciweavers

ICFP
2004
ACM

Searching for deadlocks while debugging concurrent haskell programs

14 years 4 months ago
Searching for deadlocks while debugging concurrent haskell programs
This paper presents an approach to searching for deadlocks in Concurrent Haskell programs. The search is based on a redefinition of the IO monad which allows the reversal of Concurrent Haskells concurrency primitives. Hence, it is possible to implement this search by a backtracking algorithm checking all possible schedules of the system. It is integrated in the Concurrent Haskell Debugger (CHD), and automatically searches for deadlocks in the background while debugging. The tool is easy to use and the small modifications of the source program are done by a preprocessor. In the tool we use iterative deepening as search strategy which quickly detects deadlocks close to the actual system configuration and utilizes idle time during debugging at the best. Categories and Subject Descriptors Software [SOFTWARE ENGINEERING]: Testing and Debugging--Debugging aids General Terms Languages Keywords Concurrent Haskell, debugging, deadlock, detecting deadlocks
Jan Christiansen, Frank Huch
Added 13 Dec 2009
Updated 13 Dec 2009
Type Conference
Year 2004
Where ICFP
Authors Jan Christiansen, Frank Huch
Comments (0)