= ? (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 ,
Shared memory consistency models: A tutorial, Computer, vol.29, issue.12, pp.66-76, 1996. ,
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
Benchmarking Modern Multiprocessors, 2011. ,
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
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
Efficient, transparent and comprehensive runtime code manipulation, 2004. ,
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
System Deadlocks, ACM Computing Surveys, vol.3, issue.2, pp.67-78, 1971. ,
DOI : 10.1145/356586.356588
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
Flexible hardware acceleration for instructiongrain program monitoring, Proceedings of the 35th Annual International Symposium on Computer Architecture, ISCA '08, pp.377-388, 2008. ,
Dytan, Proceedings of the 2007 international symposium on Software testing and analysis, ISSTA '07, pp.196-206, 2007. ,
DOI : 10.1145/1273463.1273490
Runtime enforcement of noninterference by duplicating processes and their memories, WSEGI, 2009. ,
The atomos transactional programming language, Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, PLDI '06, pp.1-13, 2006. ,
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
Cetus: A Source-to-Source Compiler Infrastructure for Multicores, Computer, vol.42, issue.12, pp.36-42, 2009. ,
DOI : 10.1109/MC.2009.385
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. ,
The yices smt solver, 2006. ,
Transactional Locking II, Proceedings of the 20th international conference on Distributed Computing, DISC'06, pp.194-208, 2006. ,
DOI : 10.1007/11864219_14
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. ,
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
Politiques de gestion de protections pour l'implémentation de sections critiques, 2011. ,
Dynamic information-flow analysis for multi-threaded applications ,
Politiques de gestion de protections pour l'implémentation de sections critiques, TSI special RENPAR, 2012. ,
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
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. ,
Types for atomicity, ACM Transactions on Programming Languages and Systems, vol.30, issue.4, pp.1-20, 2008. ,
DOI : 10.1145/1377492.1377495
Extended static checking for java, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, PLDI '02, pp.234-245, 2002. ,
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
DTAM, Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE '12 ,
DOI : 10.1145/2393596.2393650
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
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. ,
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. ,
Avoiding deadlock in multitasking systems, IBM Syst. J, vol.7, issue.2, pp.74-84, 1968. ,
Lock inference for atomic sections, Proceedings of the First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing, 2006. ,
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
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
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
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. ,
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
Helgrind+: An efficient dynamic race detector, 2009 IEEE International Symposium on Parallel & Distributed Processing, pp.1-13, 2009. ,
DOI : 10.1109/IPDPS.2009.5160998
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
Efficient synchronization: let them eat qolb, Proceedings of the 24th annual international symposium on Computer architecture, ISCA '97, pp.170-180, 1997. ,
Solving boolean equation systems, Research Report, vol.99, 2005. ,
Artificial intelligence at mit expanding frontiers. chapter An architecture for mostly functional languages, pp.500-519, 1990. ,
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
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. ,
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
How to make a multiprocessor computer that correctly executes multiprocess programs, IEEE Trans. Comput, vol.28, issue.9, pp.690-691, 1979. ,
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. ,
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
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. ,
Reactive synchronization algorithms for multiprocessors, 1995. ,
An investigation of the Therac-25 accidents, Computer, vol.26, issue.7, pp.18-41, 1993. ,
DOI : 10.1109/MC.1993.274940
An efficient cache-based access anomaly detection scheme, SIGOPS Oper. Syst. Rev, vol.25, pp.235-244, 1991. ,
Algorithms for scalable synchronization on shared-memory multiprocessors, ACM Trans. Comput. Syst, vol.9, issue.1, pp.21-65, 1991. ,
Efficient software synchronization on large cache coherent multiprocessors, 1994. ,
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. ,
Priority inversion, 2010. ,
Sigrace: signature-based data race detection, Proceedings of the 36th annual international symposium on Computer architecture, ISCA '09, pp.337-348, 2009. ,
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. ,
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
Dynamic information flow tracking on multicores, 2008. ,
Dynamic taint analysis for automatic detection, analysis, and signaturegeneration of exploits on commodity software, NDSS. The Internet Society, 2005. ,
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. ,
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. ,
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. ,
SIFT, Proceedings of the 8th ACM International Conference on Computing Frontiers, CF '11, pp.1-37, 2011. ,
DOI : 10.1145/2016604.2016650
LOCKSMITH, ACM Transactions on Programming Languages and Systems, vol.33, issue.1, pp.1-355, 2011. ,
DOI : 10.1145/1889997.1890000
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
Tracking the blackout bug, 2004. ,
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
Race condition vs data race, 2011. ,
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. ,
Parallelizing dynamic information flow tracking, Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures, SPAA '08, pp.35-45, 2008. ,
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
Eraser: a dynamic data race detector for multithreaded programs, ACM Trans. Comput. Syst, vol.15, issue.4, pp.391-411, 1997. ,
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
ThreadSanitizer, Proceedings of the Workshop on Binary Instrumentation and Applications, WBIA '09, pp.62-71, 2009. ,
DOI : 10.1145/1791194.1791203
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
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
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
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
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
Software transactional memory, Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing, PODC '95, pp.204-213, 1995. ,
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
Splash: Stanford parallel applications for shared-memory*, 1992. ,
Modern Operating Systems 2nd edition, 2001. ,
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. ,
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. ,
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. ,
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
Dynamic analysis and profiling of multithreaded systems ,
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
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
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. ,
Dog: Efficient information flow tracing and program monitoring with dynamic binary rewriting abstract, 2005. ,
TaintEraser, ACM SIGOPS Operating Systems Review, vol.45, issue.1, pp.142-154, 2011. ,
DOI : 10.1145/1945023.1945039
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