| Searching for deadlocks while debugging concurrent haskell programs |
| Full text |
Pdf
(126 KB)
|
| Source
|
International Conference on Functional Programming
archive
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
table of contents
Snow Bird, UT, USA
SESSION: Session I
table of contents
Pages: 28 - 39
Year of Publication: 2004
ISBN:1-58113-905-5
Also published in ...
|
|
Authors
|
|
Jan Christiansen
|
Christian-Albrechts-University of Kiel, Kiel, Germany
|
|
Frank Huch
|
Christian-Albrechts-University of Kiel, Kiel, Germany
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 2, Downloads (12 Months): 46, Citation Count: 3
|
|
|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
T. Böttcher and F. Huch. A Debugger for Concurrent Haskell. In Proceedings of the 14th International Workshop on the Implementation of Functional Languages, Madrid, Spain, September 2002.
|
| |
3
|
|
| |
4
|
|
| |
5
|
Edmund M. Clarke, Orna Grumberg, Marius Minea, and Doron Peled. State space reduction using partial order techniques. Software Tools for Technology Transfer, 2, 1998.
|
 |
6
|
James C. Corbett , Matthew B. Dwyer , John Hatcliff , Shawn Laubach , Corina S. Păsăreanu , Robby , Hongjun Zheng, Bandera: extracting finite-state models from Java source code, Proceedings of the 22nd international conference on Software engineering, p.439-448, June 04-11, 2000, Limerick, Ireland
[doi> 10.1145/337180.337234]
|
| |
7
|
The Glasgow Haskell compiler. http://www.haskell.org/ghc/.
|
| |
8
|
Andy Gill. Debugging Haskell by observing intermediate data structures. In Proceedings of the 2000 ACM SIGPLAN Haskell Workshop, volume 41-1 of ENTCS. Elsevier, September 2000.
|
| |
9
|
K. Havelund and G. Rosu. Java PathExplorer - A runtime verification tool. In In Proceedings 6th International Symposium on Artificial Intelligence, Robotics and Automation in Space, ISAIRAS'01, Montreal, Canada, June 18-22, 2001., 2001.
|
| |
10
|
Klaus Havelund and Thomas Pressburger. Model checking Java programs using Java PathFinder. International Journal on Software Tools for Technology Transfer, 2(4), April 1998.
|
 |
11
|
|
| |
12
|
|
| |
13
|
F. Huch and V. Stolz. Runtime verification of Concurrent Haskell programs. In Proceedings of the Fourth Workshop on Runtime Verification, to appear in ENTCS. Elsevier Science Publishers, 2004.
|
| |
14
|
The Haskell interpreter Hugs. http://www.haskell.org/hugs/.
|
| |
15
|
|
| |
16
|
K. Läufer. Type classes with existential types. J. of Functional Programming, 6(3):485--517, May 1996.
|
| |
17
|
|
| |
18
|
Simon Peyton Jones et al. Haskell 98 report. Technical report, http://www.haskell.org, 1998.
|
 |
19
|
Simon Peyton Jones , Andrew Gordon , Sigbjorn Finne, Concurrent Haskell, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.295-308, January 21-24, 1996, St. Petersburg Beach, Florida, United States
[doi> 10.1145/237721.237794]
|
| |
20
|
Grigore Rosu and Koushik Sen. An instrumentation technique for online analysis of multithreaded programs. In to appear as invited Paper at Parallel and Distributed Systems: Testing and Debugging (PADTAD-2), 2004.
|
| |
21
|
|
|