×

Finding race conditions in Erlang with quickcheck and PULSE. (English) Zbl 1302.68078

Proceedings of the 14th ACM SIGPLAN international conference on functional programming, ICFP ’09, Edinburgh, UK, August 31 – September 2, 2009. New York, NY: Association for Computing Machinery (ACM) (ISBN 978-1-60558-332-7). ACM SIGPLAN Notices 44, No. 9, 149-160 (2009).

MSC:

68N19 Other programming paradigms (object-oriented, sequential, concurrent, automatic, etc.)

Software:

QuickCheck

References:

[1] Cyrille Artho, Klaus Havelund, and Shinichi Honiden. Visualization of concurrent program executions. In COMPSAC ’07: Proc. of the 31st Annual International Computer Software and Applications Conference, pages 541-546, Washington, DC, USA, 2007. IEEE Computer Society. 10.1109/COMPSAC.2007.236
[2] Thomas Arts and Lars-Åke Fredlund. Trace analysis of Erlang programs. SIGPLAN Notices, 37 (12): 18-24, 2002. 10.1145/636517.636524
[3] Thomas Arts, John Hughes, Joakim Johansson, and Ulf Wiger. Testing Telecoms Software with Quviq QuickCheck. In ERLANG ’06: Proc. of the 2006 ACM SIGPLAN workshop on Erlang. ACM, 2006. 10.1145/1159789.1159792
[4] Koen Claessen and John Hughes. QuickCheck: a lightweight tool for random testing of Haskell programs. In ICFP ’00: Proc. of the fifth ACM SIGPLAN international conference on Functional programming, pages 268-279, New York, NY, USA, 2000. ACM. 10.1145/351240.351266
[5] Mats Cronqvist. Troubleshooting a large Erlang system. In ERLANG ’04: Proc. of the 2004 ACM SIGPLAN workshop on Erlang, pages 11-15, New York, NY, USA, 2004. ACM. 10.1145/1022471.1022474
[6] Lars-Åke Fredlund and Hans Svensson. McErlang: a model checker for a distributed functional programming language. SIGPLAN Not., 42 (9): 125-136, 2007. 10.1145/1291220.1291171
[7] Emden R. Gansner and Stephen C. North. An open graph visualization system and its applications. Software - Practice and Experience, 30: 1203-1233, 1999. 10.1002/1097-024X(200009)30:11
[8] M. P. Herlihy and J. M. Wing. Axioms for concurrent objects. In POPL ’87: Proc. of the 14th ACM SIGACT-SIGPLAN symposium on Principles of Prog. Lang., pages 13-26, New York, NY, USA, 1987. ACM. 10.1145/41625.41627
[9] John Hughes. QuickCheck Testing for Fun and Profit. In 9th Int. Symp. on Practical Aspects of Declarative Languages. Springer, 2007. 10.1007/978-3-540-69611-7_1
[10] Dean F. Jerding, John T. Stasko, and Thomas Ball. Visualizing interactions in program executions. In In Proc. of the 19th International Conference on Software Engineering, pages 360-370, 1997. 10.1145/253228.253356
[11] Klein, Lu, and Netzer. Detecting race conditions in parallel programs that use semaphores. Algorithmica, 35: 321-345, 2003. · Zbl 1045.68165
[12] Leslie Lamport. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Transactions on Computers, 28 (9): 690-691, 1979. 10.1109/TC.1979.1675439 · Zbl 0419.68045
[13] Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Commun. ACM, 21 (7): 558-565, 1978. 10.1145/359545.359563 · Zbl 0378.68027
[14] Shan Lu, Soyeon Park, Eunsoo Seo, and Yuanyuan Zhou. Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. SIGARCH Comput. Archit. News, 36 (1): 329-339, 2008. 10.1145/1353536.1346323
[15] Shahar Maoz, Asaf Kleinbort, and David Harel. Towards trace visualization and exploration for reactive systems. In VLHCC ’07: Proc. of the IEEE Symposium on Visual Languages and Human-Centric Computing, pages 153-156, Washington, DC, USA, 2007. IEEE Computer Society. 10.1109/VLHCC.2007.55
[16] Madanlal Musuvathi, Shaz Qadeer, Thomas Ball, Gérard Basler, Piramanayagam Arumuga Nainar, and Iulian Neamtiu. Finding and reproducing heisenbugs in concurrent programs. In OSDI, pages 267-280, 2008.
[17] Robert H. B. Netzer and Barton P. Miller. On the complexity of event ordering for shared-memory parallel program executions. In In Proc. of the 1990 Int. Conf. on Parallel Processing, pages 93-97, 1990.
[18] Chang-Seo Park and Koushik Sen. Randomized active atomicity violation detection in concurrent programs. In SIGSOFT ’08/FSE-16: Proc. of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering, pages 135-145, New York, NY, USA, 2008. ACM. 10.1145/1453101.1453121
[19] Koushik Sen. Race directed random testing of concurrent programs. SIGPLAN Not., 43 (6): 11-21, 2008. 10.1145/1379022.1375584
[20] H. Svensson and L.-Å. Fredlund. A more accurate semantics for distributed Erlang. In Erlang ’07: Proc. of the 2007 SIGPLAN Erlang Workshop, pages 43-54, New York, NY, USA, 2007. ACM. 10.1145/1292520.1292528
[21] B. Topol, J.T. Stasko, and V. Sunderam. Integrating visualization support into distributed computing systems. Proc. of the 15th Int. Conf. on: Distributed Computing Systems, pages 19-26, May-Jun 1995.
[22] Ulf T. Wiger. Extended process registry for Erlang. In ERLANG ’07: Proc. of the 2007 SIGPLAN workshop on ERLANG Workshop, pages 1-10, New York, NY, USA, 2007. ACM. 10.1145/1292520.1292522
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.