Proposed papers

Please select at least 5 options — at least one from each topic — for the paper that you would like to present. Record your choice using the web page to which you got a link via email. You must submit your preferences by Friday, 24 February 2012 at 16:00. By the end of 24 February 2012, we will assign you a paper, chosen from your preferences, and a slot in one of the Wednesday seminars of the course (please email the assistants if you have a conflict, e.g. military service, with one of the Wednesdays this semester). The first presentations will take place on 14 March.

If you miss the paper selection phase in the first week, please just talk to an assistant as soon as possible to make sure that you are assigned a paper for presentation (presenting a paper is mandatory for passing the course).

All papers should be accessible from within the ETH network using the links provided. If you have trouble accessing a paper, please email one of the assistants.

    Topic 1: Challenges of concurrency

  1. Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, and Thomas Anderson. 1997. Eraser: a dynamic data race detector for multithreaded programs. ACM Trans. Comput. Syst. 15, 4 (November 1997), 391-411.
  2. Patrice Godefroid. 1997. Model checking for programming languages using VeriSoft. In Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages (POPL '97). ACM, New York, NY, USA, 174-186.
  3. Chandrasekhar Boyapati and Martin Rinard. 2001. A parameterized type system for race-free Java programs. In Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA '01). ACM, New York, NY, USA, 56-69.
  4. Koushik Sen. 2007. Effective random testing of concurrent programs. In Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering (ASE '07). ACM, New York, NY, USA, 323-332.
  5. Madanlal Musuvathi, Shaz Qadeer, Thomas Ball, Gerard Basler, Piramanayagam Arumuga Nainar, and Iulian Neamtiu. 2008. Finding and reproducing Heisenbugs in concurrent programs. In Proceedings of the 8th USENIX conference on Operating systems design and implementation (OSDI'08). USENIX Association, Berkeley, CA, USA, 267-280.
  6. Yin Wang, Terence Kelly, Manjunath Kudlur, Stéphane Lafortune, and Scott Mahlke. 2008. Gadara: dynamic deadlock avoidance for multithreaded programs. In Proceedings of the 8th USENIX conference on Operating systems design and implementation (OSDI'08). USENIX Association, Berkeley, CA, USA, 281-294.
  7. Emery D. Berger, Ting Yang, Tongping Liu, and Gene Novark. 2009. Grace: safe multithreaded programming for C/C++. In Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications (OOPSLA '09). ACM, New York, NY, USA, 81-96.
  8. Andrew Baumann, Paul Barham, Pierre-Evariste Dagand, Tim Harris, Rebecca Isaacs, Simon Peter, Timothy Roscoe, Adrian Schüpbach, and Akhilesh Singhania. 2009. The multikernel: a new OS architecture for scalable multicore systems. In Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles (SOSP '09). ACM, New York, NY, USA, 29-44.
  9. Max Schäfer, Julian Dolby, Manu Sridharan, Emina Torlak, and Frank Tip. 2010. Correct refactoring of concurrent Java code. In Proceedings of the 24th European conference on Object-oriented programming (ECOOP'10), Theo D'Hondt (Ed.). Springer-Verlag, Berlin, Heidelberg, 225-249.
  10. Topic 2: Synchronization algorithms, semaphores, and monitors

  11. Yuh-jzer Joung. 2000. Asynchronous group mutual exclusion. Distributed Computing (DC). 13, 4, 189-206.
  12. Prasad Jayanti. 2003. Adaptive and efficient abortable mutual exclusion. Symposium on Principles of Distributed Computing (PODC). ACM, New York, NY, USA, 295-304.
  13. Jose F. Martinez and Josep Torrellas. 2002. Speculative Synchronization: Applying Thread-Level Speculation to explicitly parallel applications. Architectural Support for Programming Languages and Operating Systems (ASPLOS). ACM, New York, NY, USA, 18-29.
  14. Yu Lei and Richard H. Carver. 2004. Reachability Testing of Semaphore-Based Programs. International Computer Software and Applications Conference (COMPSAC). 312-317.
  15. Butler W. Lampson and David D. Redell. 1980. Experience with processes and monitors in Mesa. Commun. ACM 23, 2 (February 1980), 105-117.
  16. Jonathan Aldrich, Emin Gün Sirer, Craig Chambers, and Susan J. Eggers. 2003. Comprehensive synchronization elimination for Java. Science of Computer Programming (SCP) 47, 2-3, 91-120.
  17. Topic 3: Review of concurrent languages

  18. Laxmikant V. Kale and Sanjeev Krishnan. 1993. CHARM++: a portable concurrent object oriented system based on C++. In Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications (OOPSLA '93). ACM, New York, NY, USA, 91-108.
  19. Robert D. Blumofe, Christopher F. Joerg, Bradley C. Kuszmaul, Charles E. Leiserson, Keith H. Randall, and Yuli Zhou. 1995. Cilk: an efficient multithreaded runtime system. SIGPLAN Not. 30, 8 (August 1995), 207-216.
  20. Nick Benton, Luca Cardelli, and Cédric Fournet. 2004. Modern concurrency abstractions for C#. ACM Trans. Program. Lang. Syst. 26, 5 (September 2004), 769-804.
  21. David Kitchin, William R. Cook, and Jayadev Misra. 2006. A Language for Task Orchestration and Its Semantic Properties. International Conference on Concurrency Theory (CONCUR). Lecture Notes in Computer Science 4137. Springer, 477-491.
  22. Daniele Paolo Scarpazza, Patrick Mullaney, Oreste Villa, Fabrizio Petrini, Vinod Tipparaju, D. M. L. Brown, and Jarek Nieplocha. 2007. Transparent system-level migration of PGAS applications using Xen on InfiniBand. Cluster Computing. 74-83.
  23. Keith D. Underwood, Michael J. Levenhagen, and Ron Brightwell. 2007. Evaluating NIC hardware requirements to achieve high message rate PGAS support on multi-core processors. Supercomputing Conference. ACM, New York, NY, USA.
  24. Colby Ranger, Ramanan Raghuraman, Arun Penmetsa, Gary Bradski, and Christos Kozyrakis. 2007. Evaluating MapReduce for Multi-core and Multiprocessor Systems. In Proceedings of the 2007 IEEE 13th International Symposium on High Performance Computer Architecture (HPCA '07). IEEE Computer Society, Washington, DC, USA, 13-24.
  25. B.L. Chamberlain, D. Callahan, and H.P. Zima. 2007. Parallel Programmability and the Chapel Language. Int. J. High Perform. Comput. Appl. 21, 3 (August 2007), 291-312.
  26. Hans-Juergen Boehm, Sarita V. Adve. 2008. Foundations of the C++ concurrency memory model. In Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation (PLDI '08). ACM, New York, NY, USA, 68-78..
  27. Sebastian Burckhardt, Alexandro Baldassin, and Daan Leijen. 2010. Concurrent programming with revisions and isolation types. In Proceedings of the ACM international conference on Object oriented programming systems languages and applications (OOPSLA '10). ACM, New York, NY, USA, 691-707.
  28. Jan Schäfer and Arnd Poetzsch-Heffter. 2010. JCoBox: generalizing active objects to concurrent components. In Proceedings of the 24th European conference on Object-oriented programming (ECOOP'10), Theo D'Hondt (Ed.). Springer-Verlag, Berlin, Heidelberg, 275-299.
  29. Topic 4: Lock-free approaches and linearizability

  30. Maurice Herlihy. 1991. Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13, 1 (January 1991), 124-149.
  31. Maurice Herlihy and J. Eliot B. Moss. 1993. Transactional memory: architectural support for lock-free data structures. In Proceedings of the 20th annual international symposium on computer architecture (ISCA '93). ACM, New York, NY, USA, 289-300.
  32. Nir Shavit and Dan Touitou. 1995. Software transactional memory. In Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing (PODC '95). ACM, New York, NY, USA, 204-213.
  33. Tim Harris, Simon Marlow, Simon Peyton-Jones, and Maurice Herlihy. 2005. Composable memory transactions. In Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming (PPoPP '05). ACM, New York, NY, USA, 48-60.
  34. Peter W. O'Hearn, Noam Rinetzky, Martin T. Vechev, Eran Yahav, and Greta Yorsh. 2010. Verifying linearizability with hindsight. In Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing (PODC '10). ACM, New York, NY, USA, 85-94.
  35. Topic 5: CSP, CCS, and Pi-Calculus

  36. G. M. Reed and A. W. Roscoe. 1988. A timed model for communicating sequential processes. Theor. Comput. Sci. 58, 1-3 (June 1988), 249-261.
  37. Peter H. Welch and Jeremy M. R. Martin. 2000. A CSP Model for Java Multithreading. International Symposium on Software Engineering for Parallel and Distributed Systems (PDSE). 114-122.
  38. Phillip J. Brooke, Richard F. Paige, and Jeremy L. Jacob. 2007. A CSP model of Eiffel's SCOOP. Formal Aspects of Computing (FAC) 19, 4. 487-512.
  39. Iain Phillips. 2001. CCS with Priority Guards. In Proceedings of the 12th International Conference on Concurrency Theory (CONCUR '01), Kim Guldstrand Larsen and Mogens Nielsen (Eds.). Springer-Verlag, London, UK, 305-320.
  40. Atsushi Igarashi and Naoki Kobayashi. 2001. A generic type system for the Pi-calculus. Sigplan Notices (SIGPLAN). 36, 3, 128-141.
  41. Roberto Lucchi and Manuel Mazzara. 2007. A pi-calculus based semantics for WS-BPEL. The Journal of Logic and Algebraic Programming (JLP). 70, 1, 96-118.
  42. Laura Bocchi, Kohei Honda, Emilio Tuosto, and Nobuko Yoshida. 2010. A Theory of Design-by-Contract for Distributed Multiparty Interactions. In Proc. CONCUR 2010, 162-176.