Cyrille Artho, Klaus Havelund & Armin Biere (2003):
High-Level Data Races.
In: NDDL/VVEIS,
pp. 82–93,
doi:10.1002/stvr.281.
Mike Barnett, K. Rustan M. Leino & Wolfram Schulte (2005):
The spec# programming system: an overview.
In: Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices,
CASSIS'04.
Springer-Verlag,
Berlin, Heidelberg,
pp. 49–69,
doi:10.1007/978-3-540-30569-9-3.
Nels E. Beckman (2006):
A Survey of Methods for Preventing Race Conditions.
Nels E. Beckman, Kevin Bierhoff & Jonathan Aldrich (2008):
Verifying correct usage of atomic blocks and typestate.
In: Gail E. Harris: OOPSLA.
ACM,
pp. 227–244,
doi:10.1145/1449764.1449783.
Matthias Blume & David McAllester (2006):
Sound and complete models of contracts.
J. Funct. Program. 16(4-5),
pp. 375–414,
doi:10.1017/S0956796806005971.
Johannes Borgstrom, Karthikeyan Bhargavan & Andrew D. Gordon (2009):
A compositional theory for STM Haskell.
In: Proceedings of the 2nd ACM SIGPLAN symposium on Haskell,
Haskell '09.
ACM,
New York, NY, USA,
pp. 69–80,
doi:10.1145/1596638.1596648.
Chandrasekhar Boyapati, Robert Lee & Martin Rinard (2002):
Ownership types for safe programming: preventing data races and deadlocks.
SIGPLAN Not. 37(11),
pp. 211–230,
doi:10.1145/583854.582440.
Robert DeLine & Manuel F\begingroupłet [Pleaseinsert\PrerenderUnicodeäintopreamble]hndrich (2004):
Typestates for Objects.
In: Martin Odersky: ECOOP 2004 \begingroupłet [Pleaseinsert\PrerenderUnicode–intopreamble] Object-Oriented Programming,
Lecture Notes in Computer Science 3086.
Springer Berlin Heidelberg,
pp. 465–490,
doi:10.1007/978-3-540-24851-4-21.
Tayfun Elmas, Shaz Qadeer & Serdar Tasiran (2007):
Goldilocks: a race and transaction-aware java runtime.
SIGPLAN Not. 42(6),
pp. 245–255,
doi:10.1145/1273442.1250762.
Dawson Engler & Ken Ashcraft (2003):
RacerX: effective, static detection of race conditions and deadlocks.
SIGOPS Oper. Syst. Rev. 37,
pp. 237–252,
doi:10.1145/1165389.945468.
Cormac Flanagan & Stephen N. Freund (2000):
Type-based race detection for Java.
SIGPLAN Not. 35,
pp. 219–232,
doi:10.1145/358438.349328.
Cormac Flanagan & Shaz Qadeer (2003):
A type and effect system for atomicity.
SIGPLAN Not. 38,
pp. 338–349,
doi:10.1145/780822.781169.
J\begingroupłet [Pleaseinsert\PrerenderUnicodeüintopreamble]rgen Giesl, Stephan Swiderski, Peter Schneider-Kamp & Ren\begingroupłet [Pleaseinsert\PrerenderUnicodeéintopreamble] Thiemann (2006):
Automated Termination Analysis for Haskell: From Term Rewriting to Programming Languages.
In: Frank Pfenning: Term Rewriting and Applications,
Lecture Notes in Computer Science 4098.
Springer Berlin Heidelberg,
pp. 297–312,
doi:10.1007/11805618_23.
Tim Harris, Simon Marlow, Simon Peyton-Jones & Maurice Herlihy (2005):
Composable memory transactions.
In: PPoPP '05: Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming.
ACM,
New York, NY, USA,
pp. 48–60,
doi:10.1145/1065944.1065952.
Tim Harris & Simon Peyton Jones (2006):
Transactional memory with data invariants.
Thomas A. Henzinger, Ranjit Jhala & Rupak Majumdar (2004):
Race checking by context inference.
SIGPLAN Not. 39,
pp. 1–13,
doi:10.1145/996893.996844.
Paul Hudak, Simon Peyton Jones, Philip Wadler, Brian Boutel, Jon Fairbairn, Joseph Fasel, María M. Guzmán, Kevin Hammond, John Hughes, Thomas Johnsson, Dick Kieburtz, Rishiyur Nikhil, Will Partain & John Peterson (1992):
Report on the programming language Haskell: a non-strict, purely functional language version 1.2.
SIGPLAN Not. 27(5),
pp. 1–164,
doi:10.1145/130697.130699.
John Hughes (1996):
An Introduction to Program Specialisation by Type Inference.
Glasgow University.
Published electronically.
Bart Jacobs, Frank Piessens, Jan Smans, K. Rustan M. Leino & Wolfram Schulte (2008):
A programming model for concurrent object-oriented programs.
ACM Trans. Program. Lang. Syst. 31(1),
pp. 1:1–1:48,
doi:10.1145/1452044.1452045.
Neil D. Jones, Carsten K. Gomard & Peter Sestoft (1993):
Partial evaluation and automatic program generation.
Prentice-Hall, Inc.,
Upper Saddle River, NJ, USA.
Simon L. Peyton Jones (1996):
Compiling Haskell by program transformation: a report from the trenches.
Simon Peyton Jones (2007):
Beautiful Concurrency.
Ch. 24.
Rusl\begingroupłet [Pleaseinsert\PrerenderUnicodeáintopreamble]n Ledesma-Garza & Andrey Rybalchenko (2012):
Binary Reachability Analysis of Higher Order Functional Programs.
In: Antoine Min\begingroupłet [Pleaseinsert\PrerenderUnicodeéintopreamble] & David Schmidt: Static Analysis,
Lecture Notes in Computer Science 7460.
Springer Berlin Heidelberg,
pp. 388–404,
doi:10.1007/978-3-642-33125-1-26.
Shan Lu, Soyeon Park, Chongfeng Hu, Xiao Ma, Weihang Jiang, Zhenmin Li, Raluca A. Popa & Yuanyuan Zhou (2007):
MUVI: automatically inferring multi-variable access correlations and detecting related semantic and concurrency bugs.
SIGOPS Oper. Syst. Rev. 41,
pp. 103–116,
doi:10.1145/1323293.1294272.
Shan Lu, Soyeon Park, Eunsoo Seo & Yuanyuan Zhou (2008):
Learning from mistakes: a comprehensive study on real world concurrency bug characteristics.
In: Susan J. Eggers & James R. Larus: ASPLOS.
ACM,
pp. 329–339,
doi:10.1145/1346281.1346323.
Shan Lu, Joseph Tucek, Feng Qin & Yuanyuan Zhou (2006):
AVIO: detecting atomicity violations via access interleaving invariants.
SIGPLAN Not. 41(11),
pp. 37–48,
doi:10.1145/1168918.1168864.
Brandon Lucia & Luis Ceze (2009):
Finding concurrency bugs with context-aware communication graphs.
In: Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture,
MICRO 42.
ACM,
New York, NY, USA,
pp. 553–563,
doi:10.1145/1669112.1669181.
Brandon Lucia, Luis Ceze & Karin Strauss (2010):
ColorSafe: architectural support for debugging and dynamically avoiding multi-variable atomicity violations.
SIGARCH Comput. Archit. News 38(3),
pp. 222–233,
doi:10.1145/1816038.1815988.
Brandon Lucia, Joseph Devietti, Karin Strauss & Luis Ceze (2008):
Atom-Aid: Detecting and Surviving Atomicity Violations.
SIGARCH Comput. Archit. News 36(3),
pp. 277–288,
doi:10.1145/1394608.1382145.
Daniel Marino, Madanlal Musuvathi & Satish Narayanasamy (2009):
LiteRace: effective sampling for lightweight data-race detection.
In: In PLDI,
doi:10.1145/1542476.1542491.
Bertrand Meyer (1992):
Eiffel: the language.
Prentice-Hall, Inc.,
Upper Saddle River, NJ, USA.
Mayur Naik, Alex Aiken & John Whaley (2006):
Effective static race detection for Java.
SIGPLAN Not. 41(6),
pp. 308–319,
doi:10.1145/1133255.1134018.
Robert H. B. Netzer (1993):
Optimal tracing and replay for debugging shared-memory parallel programs.
SIGPLAN Not. 28(12),
pp. 1–11,
doi:10.1145/174267.174268.
Flemming Nielson, Hanne Riis Nielson & Chris Hanking (2005):
Principles of Program Analysis.
Springer.
Robert O'Callahan & Jong-Deok Choi (2003):
Hybrid dynamic data race detection.
SIGPLAN Not. 38(10),
pp. 167–178,
doi:10.1145/966049.781528.
Chang-Seo Park & Koushik Sen (2008):
Randomized active atomicity violation detection in concurrent programs.
In: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering,
SIGSOFT '08/FSE-16.
ACM,
New York, NY, USA,
pp. 135–145,
doi:10.1145/1453101.1453121.
Vasco Pessanha, Ricardo J. Dias, Jo ao M. Louren co, Eitan Farchi & Diogo Sousa (2011):
Practical verification of high-level dataraces in transactional memory programs.
In: Proceedings of the Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging,
PADTAD '11.
ACM,
New York, NY, USA,
pp. 26–34,
doi:10.1145/2002962.2002968.
Polyvios Pratikakis, Jeffrey S. Foster & Michael Hicks (2006):
LOCKSMITH: context-sensitive correlation analysis for race detection.
SIGPLAN Not. 41(6),
pp. 320–331,
doi:10.1145/1133255.1134019.
Shaz Qadeer & Dinghao Wu (2004):
KISS: keep it simple and sequential.
SIGPLAN Not. 39(6),
pp. 14–24,
doi:10.1145/996893.996845.
Amit Sasturkar, Rahul Agarwal, Liqiang Wang & Scott D. Stoller (2005):
Automated type-based analysis of data races and atomicity.
In: Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming,
PPoPP '05.
ACM,
New York, NY, USA,
pp. 83–94,
doi:10.1145/1065944.1065956.
Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro & Thomas Anderson (1997):
Eraser: a dynamic data race detector for multithreaded programs.
ACM Trans. Comput. Syst. 15(4),
pp. 391–411,
doi:10.1145/265924.265927.
Nir Shavit & Dan Touitou (1995):
Software transactional memory,
pp. 204–213,
doi:10.1145/224964.224987.
Nicholas Sterling (1993):
WARLOCK - A Static Data Race Analysis Tool.
Bruno Teixeira, Jo ao Louren co, Eitan Farchi, Ricardo Dias & Diogo Sousa (2010):
Detection of Transactional Memory anomalies using static analysis.
In: Proceedings of the 8th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging,
PADTAD '10.
ACM,
New York, NY, USA,
pp. 26–36,
doi:10.1145/1866210.1866213.
Dimitrios Vytiniotis, Simon Peyton Jones, Koen Claessen & Dan Rosén (2013):
HALO: haskell to logic through denotational semantics.
In: Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages,
POPL '13.
ACM,
New York, NY, USA,
pp. 431–442,
doi:10.1145/2429069.2429121.
Dana N. Xu, Simon Peyton Jones & Koen Claessen (2009):
Static contract checking for Haskell.
SIGPLAN Not. 44(1),
pp. 41–52,
doi:10.1145/1594834.1480889.