?. With?, = ? (respectively ?(j) = µ) such that: (a) j is reachable from i, and (b) G E contains a cycle of which the lowest index of a node on this cycle is j

V. Sarita, K. Adve, and . Gharachorloo, Shared memory consistency models: A tutorial, Computer, vol.29, issue.12, pp.66-76, 1996.

[. Buck and J. K. Hollingsworth, An API for Runtime Code Patching, International Journal of High Performance Computing Applications, vol.14, issue.4, pp.317-329, 2000.
DOI : 10.1177/109434200001400404

[. Bienia, Benchmarking Modern Multiprocessors, 2011.

[. Bayer, E. Kirda, and C. Kruegel, Improving the efficiency of dynamic malware analysis, Proceedings of the 2010 ACM Symposium on Applied Computing, SAC '10, pp.1871-1878, 2010.
DOI : 10.1145/1774088.1774484

G. Barthe, T. Rezk, A. Russo, and A. Sabelfeld, Security of multithreaded programs by compilation, ACM Transactions on Information and System Security, vol.13, issue.3, pp.1-2132, 2010.
DOI : 10.1145/1805974.1805977

D. L. Bruening, Efficient, transparent and comprehensive runtime code manipulation, 2004.

[. Cherem, T. Chilimbi, and S. Gulwani, Inferring locks for atomic sections, Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation, PLDI '08, pp.304-315, 2008.
DOI : 10.1145/1379022.1375619

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.159.4936

M. [. Coffman, A. Elphick, and . Shoshani, System Deadlocks, ACM Computing Surveys, vol.3, issue.2, pp.67-78, 1971.
DOI : 10.1145/356586.356588

[. Castillo, F. Farina, and A. Cordoba, A Dynamic Deadlock Detection/Resolution Algorithm with Linear Message Complexity, 2012 20th Euromicro International Conference on Parallel, Distributed and Network-based Processing, pp.175-179, 2012.
DOI : 10.1109/PDP.2012.43

M. Cks-+-08-]-shimin-chen, T. Kozuch, B. Strigkos, P. B. Falsafi, T. C. Gibbons et al., Flexible hardware acceleration for instructiongrain program monitoring, Proceedings of the 35th Annual International Symposium on Computer Architecture, ISCA '08, pp.377-388, 2008.

[. Clause, W. Li, and A. Orso, Dytan, Proceedings of the 2007 international symposium on Software testing and analysis, ISSTA '07, pp.196-206, 2007.
DOI : 10.1145/1273463.1273490

[. Cristia and P. Mata, Runtime enforcement of noninterference by duplicating processes and their memories, WSEGI, 2009.

D. Brian, A. Carlstrom, H. Mcdonald, J. Chafi, C. C. Chung et al., The atomos transactional programming language, Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, PLDI '06, pp.1-13, 2006.

W. Cheng, Q. Zhao, B. Yu, and S. Hiroshige, TaintTrace: Efficient Flow Tracing with Dynamic Binary Rewriting, 11th IEEE Symposium on Computers and Communications (ISCC'06), pp.749-754, 2006.
DOI : 10.1109/ISCC.2006.158

H. Dbm-+-09-]-chirag-dave, S. Bae, S. Min, R. Lee, S. Eigenmann et al., Cetus: A Source-to-Source Compiler Infrastructure for Multicores, Computer, vol.42, issue.12, pp.36-42, 2009.
DOI : 10.1109/MC.2009.385

[. Dalton, H. Kannan, and C. Kozyrakis, Raksha: a flexible information flow architecture for software security, Proceedings of the 34th annual international symposium on Computer architecture, ISCA '07, pp.482-493, 2007.

[. Dutertre and L. D. Moura, The yices smt solver, 2006.

[. Dice, O. Shalev, and N. Shavit, Transactional Locking II, Proceedings of the 20th international conference on Distributed Computing, DISC'06, pp.194-208, 2006.
DOI : 10.1007/11864219_14

D. Engler and K. Ashcraft, Racerx: effective, static detection of race conditions and deadlocks, Proceedings of the nineteenth ACM symposium on Operating systems principles, SOSP '03, pp.237-252, 2003.

[. Emmi, J. S. Fischer, R. Jhala, and R. Majumdar, Lock allocation, Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL '07, pp.291-296, 2007.
DOI : 10.1145/1190215.1190260

[. Emmanuel and M. Laurent, Politiques de gestion de protections pour l'implémentation de sections critiques, 2011.

[. Emmanuel and M. Laurent, Dynamic information-flow analysis for multi-threaded applications

[. Emmanuel and M. Laurent, Politiques de gestion de protections pour l'implémentation de sections critiques, TSI special RENPAR, 2012.

M. Egele, T. Scholte, E. Kirda, and C. Kruegel, A survey on automated dynamic malware-analysis techniques and tools, ACM Computing Surveys, vol.44, issue.2, pp.6-7, 2008.
DOI : 10.1145/2089125.2089126

[. Flanagan and S. N. Freund, Type-based race detection for java, Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, PLDI '00, pp.219-232, 2000.

[. Flanagan, S. N. Freund, M. Lifshin, and S. Qadeer, Types for atomicity, ACM Transactions on Programming Languages and Systems, vol.30, issue.4, pp.1-20, 2008.
DOI : 10.1145/1377492.1377495

K. Cormac-flanagan, M. Rustan, M. Leino, G. Lillibridge, J. B. Nelson et al., Extended static checking for java, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, PLDI '02, pp.234-245, 2002.

J. Groote and M. Keinänen, Solving Disjunctive/Conjunctive Boolean Equation Systems with Alternating Fixed Points, Tools and Algorithms for the Construction and Analysis of Systems, pp.436-450, 2004.
DOI : 10.1007/978-3-540-24730-2_33

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.58.4882

[. Ganai, D. Lee, and A. Gupta, DTAM, Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE '12
DOI : 10.1145/2393596.2393650

R. [. Gray, G. R. Lorie, and . Putzolu, Granularity of locks in a shared data base, Proceedings of the 1st International Conference on Very Large Data Bases, VLDB '75, pp.428-451, 1975.
DOI : 10.1145/1282480.1282513

L. Michelle, E. Goodstein, S. Vlachos, P. B. Chen, M. A. Gibbons et al., Butterfly analysis: adapting dataflow analysis to dynamic parallel monitoring, Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems, ASPLOS '10, pp.257-270, 2010.

J. R. Goodman, M. K. Vernon, and P. J. Woest, Efficient synchronization primitives for large-scale cache-coherent multiprocessors, Proceedings of the third international conference on Architectural support for programming languages and operating systems, pp.64-75, 1989.

]. J. Hav68 and . Havender, Avoiding deadlock in multitasking systems, IBM Syst. J, vol.7, issue.2, pp.74-84, 1968.

M. W. Hicks, J. S. Foster, and P. Pratikakis, Lock inference for atomic sections, Proceedings of the First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing, 2006.

D. Hendler, I. Incze, N. Shavit, and M. Tzafrir, Flat combining and the synchronization-parallelism tradeoff, Proceedings of the 22nd ACM symposium on Parallelism in algorithms and architectures, SPAA '10, pp.355-364, 2010.
DOI : 10.1145/1810479.1810540

[. Hazelwood, G. Lueck, and R. Cohn, Scalable support for multithreaded applications on dynamic binary instrumentation systems, Proceedings of the 2009 international symposium on Memory management, ISMM '09, pp.20-29, 2009.
DOI : 10.1145/1542431.1542435

M. Herlihy, V. Luchangco, M. Moir, W. N. Scherer, and I. , Software transactional memory for dynamic-sized data structures, Proceedings of the twenty-second annual symposium on Principles of distributed computing , PODC '03, pp.92-101, 2003.
DOI : 10.1145/872035.872048

M. Herlihy, J. B. Eliot, and . Moss, Transactional memory: architectural support for lock-free data structures, Proceedings of the 20th annual international symposium on computer architecture, ISCA '93, pp.289-300, 1993.

T. Harris, S. Marlow, S. P. Jones, and M. Herlihy, Composable memory transactions, Communications of the ACM, vol.51, issue.8, pp.91-100, 2008.
DOI : 10.1145/1378704.1378725

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.415.7792

A. Jannesari, K. Bao, V. Pankratius, and W. F. Tichy, Helgrind+: An efficient dynamic race detector, 2009 IEEE International Symposium on Parallel & Distributed Processing, pp.1-13, 2009.
DOI : 10.1109/IPDPS.2009.5160998

P. Joshi, M. Naik, C. Park, and K. Sen, CalFuzzer: An Extensible Active Testing Framework for Concurrent Programs, Proceedings of the 21st International Conference on Computer Aided Verification, CAV '09, pp.675-681, 2009.
DOI : 10.1007/978-3-642-02658-4_54

A. Kägi, D. Burger, and J. R. Goodman, Efficient synchronization: let them eat qolb, Proceedings of the 24th annual international symposium on Computer architecture, ISCA '97, pp.170-180, 1997.

M. Keinänen, Solving boolean equation systems, Research Report, vol.99, 2005.

[. Knight, Artificial intelligence at mit expanding frontiers. chapter An architecture for mostly functional languages, pp.500-519, 1990.

[. Kahlon and C. Wang, Universal Causality Graphs: A Precise Happens-Before Model for Detecting Bugs in Concurrent Programs, Proceedings of the 22nd international conference on Computer Aided Verification, CAV'10, pp.434-449, 2010.
DOI : 10.1007/978-3-642-14295-6_39

[. Kasikci, C. Zamfir, and G. Candea, Data races vs. data race bugs: telling the difference with portend, Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '12, pp.185-198, 2012.

L. Lamport, Time, clocks, and the ordering of events in a distributed system, Communications of the ACM, vol.21, issue.7, pp.558-565, 1978.
DOI : 10.1145/359545.359563

]. L. Lam79 and . Lamport, How to make a multiprocessor computer that correctly executes multiprocess programs, IEEE Trans. Comput, vol.28, issue.9, pp.690-691, 1979.

C. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser et al., Pin: building customized program analysis tools with dynamic instrumentation, Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, PLDI '05, pp.190-200, 2005.

J. Lozi, F. David, G. Thomas, J. Lawall, and G. Muller, Remote Core Locking: migrating critical-section execution to improve the performance of multithreaded applications, Proceedings of the Usenix Annual Technical Conference, USENIX ATC '12, pp.65-76
URL : https://hal.archives-ouvertes.fr/hal-00991709

T. Li, C. S. Ellis, A. R. Lebeck, and D. J. Sorin, Pulse: a dynamic deadlock detection mechanism using speculative execution, Proceedings of the annual conference on USENIX Annual Technical Conference, ATEC '05, pp.3-3, 2005.

]. B. Lim95 and . Lim, Reactive synchronization algorithms for multiprocessors, 1995.

C. [. Leveson and . Turner, An investigation of the Therac-25 accidents, Computer, vol.26, issue.7, pp.18-41, 1993.
DOI : 10.1109/MC.1993.274940

L. Sang, J. Min, and . Choi, An efficient cache-based access anomaly detection scheme, SIGOPS Oper. Syst. Rev, vol.25, pp.235-244, 1991.

M. John, M. L. Mellor-crummey, and . Scott, Algorithms for scalable synchronization on shared-memory multiprocessors, ACM Trans. Comput. Syst, vol.9, issue.1, pp.21-65, 1991.

[. Magnusson, A. Landin, and E. Hagersten, Efficient software synchronization on large cache coherent multiprocessors, 1994.

D. Marino, M. Musuvathi, and S. Narayanasamy, Literace: effective sampling for lightweight data-race detection, Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation , PLDI '09, pp.134-143, 2009.

[. Msdn, Priority inversion, 2010.

[. Muzahid, D. Suárez, S. Qi, and J. Torrellas, Sigrace: signature-based data race detection, Proceedings of the 36th annual international symposium on Computer architecture, ISCA '09, pp.337-348, 2009.

F. Mccloskey, D. Zhou, E. Gay, and . Brewer, Autolocker: synchronization inference for atomic sections, Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '06, pp.346-358, 2006.

V. Nagarajan and R. Gupta, Architectural support for shadow memory in multiprocessors, Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, VEE '09, pp.1-10, 2009.
DOI : 10.1145/1508293.1508295

V. Nagarajan, H. Kim, Y. Wu, and R. Gupta, Dynamic information flow tracking on multicores, 2008.

J. Newsome and D. X. Song, Dynamic taint analysis for automatic detection, analysis, and signaturegeneration of exploits on commodity software, NDSS. The Internet Society, 2005.

N. Nethercote and J. Seward, Valgrind: a framework for heavyweight dynamic binary instrumentation, Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, PLDI '07, pp.89-100, 2007.

Z. Narayanasamy, J. Wang, A. Tigani, B. Edwards, and . Calder, Automatically classifying benign and harmful data races using replay analysis, Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, PLDI '07, pp.22-31, 2007.

O. Robert, J. Callahan, and . Choi, Hybrid dynamic data race detection, Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP '03, pp.167-178, 2003.

[. Ozsoy, D. Ponomarev, N. Abu-ghazaleh, and T. Suri, SIFT, Proceedings of the 8th ACM International Conference on Computing Frontiers, CF '11, pp.1-37, 2011.
DOI : 10.1145/2016604.2016650

[. Pratikakis, J. S. Foster, and M. Hicks, LOCKSMITH, ACM Transactions on Programming Languages and Systems, vol.33, issue.1, pp.1-355, 2011.
DOI : 10.1145/1889997.1890000

D. Perkovic and P. J. Keleher, Online data-race detection via coherency guarantees, Proceedings of the second USENIX symposium on Operating systems design and implementation, OSDI '96, pp.47-57, 1996.
DOI : 10.1145/238721.238760

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.4130

K. Poulsen, Tracking the blackout bug, 2004.

F. Qin, C. Wang, Z. Li, H. Kim, Y. Zhou et al., LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks, 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06), pp.135-148, 2006.
DOI : 10.1109/MICRO.2006.29

J. Regehr, Race condition vs data race, 2011.

R. Rajwar and J. R. Goodman, Transactional lock-free execution of lock-based programs, Proceedings of the 10th international conference on Architectural support for programming languages and operating systems, pp.5-17, 2002.

P. B. Olatunji-ruwase, T. C. Gibbons, V. Mowry, S. Ramachandran, M. Chen et al., Parallelizing dynamic information flow tracking, Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures, SPAA '08, pp.35-45, 2008.

R. Rangan, N. Vachharajani, A. Stoler, G. Ottoni, D. I. August et al., Support for High-Frequency Streaming in CMPs, 2006 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'06), pp.259-272, 2006.
DOI : 10.1109/MICRO.2006.47

. Sbn-+-97-]-stefan, M. Savage, G. Burrows, P. Nelson, T. Sobalvarro et al., Eraser: a dynamic data race detector for multithreaded programs, ACM Trans. Comput. Syst, vol.15, issue.4, pp.391-411, 1997.

[. Sorrentino, A. Farzan, and P. Madhusudan, PENELOPE, Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering, FSE '10, pp.37-46, 2010.
DOI : 10.1145/1882291.1882300

K. Serebryany and T. Iskhodzhanov, ThreadSanitizer, Proceedings of the Workshop on Binary Instrumentation and Applications, WBIA '09, pp.62-71, 2009.
DOI : 10.1145/1791194.1791203

M. [. Shetty, Y. Kharbutli, M. Solihin, and . Prvulovic, HeapMon: A helper-thread approach to programmable, automatic, and low-overhead memory bug detection, IBM Journal of Research and Development, vol.50, issue.2.3, pp.261-275, 2006.
DOI : 10.1147/rd.502.0261

A. [. Sabelfeld and . Myers, Language-based information-flow security, IEEE Journal on Selected Areas in Communications, vol.21, issue.1
DOI : 10.1109/JSAC.2002.806121

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.10.3979

M. A. Suleman, O. Mutlu, M. K. Qureshi, and Y. N. Patt, Accelerating critical section execution with asymmetric multi-core architectures, Proceedings of the 14th international conference on Architectural support for programming languages and operating systems, ASPLOS '09, pp.253-264, 2009.
DOI : 10.1145/1508284.1508274

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.152.2653

A. Sinha, S. Malik, C. Wang, and A. Gupta, Predictive analysis for detecting serializability violations through Trace Segmentation, Ninth ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMPCODE2011), pp.99-108, 2011.
DOI : 10.1109/MEMCOD.2011.5970516

[. Saxena, V. Sekar, and . Puranik, Efficient fine-grained binary instrumentationwith applications to taint-tracking, Proceedings of the sixth annual IEEE/ACM international symposium on Code generation and optimization , CGO '08, pp.74-83, 2008.
DOI : 10.1145/1356058.1356069

[. Shavit and D. Touitou, Software transactional memory, Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing, PODC '95, pp.204-213, 1995.

Y. Sundblad, The Ackermann function. a theoretical, computational, and formula manipulative study, Proceedings of the 25th ACM SIGPLAN- SIGACT symposium on Principles of programming languages, POPL '98, pp.107-119, 1971.
DOI : 10.1007/BF01935330

P. Jaswinder, W. Singh, A. Weber, and . Gupta, Splash: Stanford parallel applications for shared-memory*, 1992.

A. Tanenbaum, Modern Operating Systems 2nd edition, 2001.

[. Upadhyaya, S. P. Midkiff, and V. S. Pai, Using data structure knowledge for efficient lock generation and strong atomicity, Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP '10, pp.281-292, 2010.

M. Dennis, G. Volpano, and . Smith, A type-based approach to program security, Proceedings of the 7th International Joint Conference CAAP/- FASE on Theory and Practice of Software Development, TAPSOFT '97, pp.607-621, 1997.

[. Wang, S. Chaudhuri, A. Gupta, and Y. Yang, Symbolic pruning of concurrent program executions In Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIG- SOFT symposium on The foundations of software engineering, pp.23-32, 2009.

C. Wang and M. Ganai, Predicting Concurrency Failures in the Generalized Execution Traces of x86 Executables, Proceedings of the Second international conference on Runtime verification, pp.4-18, 2012.
DOI : 10.1007/978-3-642-29860-8_2

R. Waddington and S. , Dynamic analysis and profiling of multithreaded systems

L. Wang and S. D. Stoller, Accurate and efficient runtime detection of atomicity errors in concurrent programs, Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming , PPoPP '06, pp.137-146, 2006.
DOI : 10.1145/1122971.1122993

L. Wang and S. D. Stoller, Runtime analysis of atomicity for multithreaded programs, IEEE Transactions on Software Engineering, vol.32, issue.2, pp.93-110, 2006.
DOI : 10.1109/TSE.2006.1599419

Y. Yu, T. Rodeheffer, and W. Chen, Racetrack: efficient detection of data race conditions via adaptive tracking, Proceedings of the twentieth ACM symposium on Operating systems principles, SOSP '05, pp.221-234, 2005.

Q. Zhao, W. W. Cheng, B. Yu, and S. Hiroshige, Dog: Efficient information flow tracing and program monitoring with dynamic binary rewriting abstract, 2005.

J. Zhu, D. Jung, T. Song, D. Kohno, and . Wetherall, TaintEraser, ACM SIGOPS Operating Systems Review, vol.45, issue.1, pp.142-154, 2011.
DOI : 10.1145/1945023.1945039

[. Zhou, R. Teodorescu, and Y. Zhou, HARD: Hardware-Assisted Lockset-based Race Detection, 2007 IEEE 13th International Symposium on High Performance Computer Architecture, pp.121-132, 2007.
DOI : 10.1109/HPCA.2007.346191

URL : http://carmen.cs.uiuc.edu/~pinzhou/publications/HARD_hpca07.ps