Navigating the Concurrency Landscape: A Survey of Race Condition Vulnerability Detectors (2312.14479v1)
Abstract: As technology continues to advance and we usher in the era of Industry 5.0, there has been a profound paradigm shift in operating systems, file systems, web, and network applications. The conventional utilization of multiprocessing and multicore systems has made concurrent programming increasingly pervasive. However, this transformation has brought about a new set of issues known as concurrency bugs, which, due to their wide prevalence in concurrent programs, have led to severe failures and potential security exploits. Over the past two decades, numerous researchers have dedicated their efforts to unveiling, detecting, mitigating, and preventing these bugs, with the last decade witnessing a surge in research within this domain. Among the spectrum of concurrency bugs, data races or race condition vulnerabilities stand out as the most prevalent, accounting for a staggering 80\% of all concurrency bugs. This survey paper is focused on the realm of race condition bug detectors. We systematically categorize these detectors based on the diverse methodologies they employ. Additionally, we delve into the techniques and algorithms associated with race detection, tracing the evolution of this field over time. Furthermore, we shed light on the application of fuzzing techniques in the detection of race condition vulnerabilities. By reviewing these detectors and their static analyses, we draw conclusions and outline potential future research directions, including enhancing accuracy, performance, applicability, and comprehensiveness in race condition vulnerability detection.
- “Humans in Industry 5.0–A Paradigm Shift” In Procedia CIRP 110 Elsevier, 2022, pp. 4–9
- “Industry 5.0: Prospect and retrospect” In Journal of Manufacturing Systems 65, 2022, pp. 279–295 DOI: https://doi.org/10.1016/j.jmsy.2022.09.017
- “A study of Linux file system evolution” In Transactions on Storage 10.1, 2014, pp. 3:1–3:32
- “Understanding Manycore Scalability of File Systems” In Proceedings of the 2016 USENIX Annual Technical Conference (ATC), 2016
- J. Huang, M.K. Qureshi and K. Schwan “An Evolutionary Study of Linux Memory Management for Fun and Profit” In Proceedings of the 2016 USENIX Annual Technical Conference (ATC), 2016, pp. 465–478
- “File Systems Unfit As Distributed Storage Backends: Lessons from 10 Years of Ceph Evolution” In Proceedings of the 27th ACM Symposium on Operating Systems Principles (SOSP), 2019
- MITRE Corporation “CVE-2009-1235” https://cve.mitre.org/cgibin/cvename.cgi?name=CVE-2009-1235 [Accessed: (22 august 2023)], 2009
- J. Corbet “Unprivileged filesystem mounts, 2018 edition”, 2022 URL: https://lwn.net/Articles/755593
- P. Fonseca, R. Rodrigues and B.B. Brandenburg “SKI: Exposing Kernel Concurrency Bugs Through Systematic Schedule Exploration” In Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2014
- “Fuzzing File Systems via Two-Dimensional Input Space Exploration” In Proceedings of the 40th IEEE Symposium on Security and Privacy (Oakland), 2019
- “Finding Semantic Bugs in File Systems with an Extensible Fuzzing Framework” In Proceedings of the 27th ACM Symposium on Operating Systems Principles (SOSP), 2019
- bugzilla.kernel “Kernel.org Bugzilla - Btrfs bug entries” https://bugzilla.kernel.org/buglist.cgi?component=btrfs [Accessed: (22 august 2023)], 2022
- MITRE Corporation “F2FS CVE entries” http://cve.mitre.org/cgibin/cvekey.cgi?keyword=f2fs [Accessed: (22 august 2023)], 2022
- bugzilla.kernel “Kernel.org Bugzilla - ext4 bug entries” https://bugzilla.kernel.org/buglist.cgi?component=ext4 [Accessed: (22 august 2023)], 2022
- Ohad Rodeh, Josef Bacik and Chris Mason “BTRFS: The Linux B-tree filesystem” In ACM Transactions on Storage (TOS), 2013
- bugzilla.kernel “Kernel.org Bugzilla” https://bugzilla.kernel.org [Accessed: (22 august 2023)], 2022
- T. Gallagher “Archived webpage: Concurrent Programming (CPE9001) - Monash University” Accessed on: July 31, 2023, https://web.archive.org/web/20071212183729/http://neptune.netcomp.monash.edu.au/cpe9001/assets/readings/www_uguelph_ca_~tgallagh_~tgallagh.html, 2007
- TOP500.Org “Top 500 Supercomputer Sites” Retrieved May 8, 2019, http://www.top500.org/, 2019
- Working Group POSIX “IEEE Standard for Information Technology–Portable Operating System Interface (POSIX(R)) Base Specifications, Issue 7. IEEE Std 1003.1-2017 (Rev. of IEEE Std 1003.1-2008)”, 2018, pp. 1–3951 DOI: 10.1109/IEEESTD.2018.8277153
- “Software vulnerability detection using deep neural networks: a survey” In Proceedings of the IEEE 108.10 IEEE, 2020, pp. 1825–1848
- “Software Vulnerability Analysis and Discovery Using Deep Learning Techniques: A Survey” In IEEE Access 8, 2020, pp. 197158–197172 DOI: 10.1109/ACCESS.2020.3034766
- CVE details “Vulnerabilities as Threats to IT Infrastructure” https://www.cvedetails.com/browse-by-date.php [Accessed: (June 28, 2023)], 2022
- “A survey of FPGA-based accelerator systems” In ACM Computing Surveys (CSUR) 50.3 ACM, 2017, pp. 34
- Peter M. Chen, Wen-Tsuen Hwang and David J. Farber “DERT: A Software Tool for Detecting and Eliminating Racy Variables” In Proceedings of the 1990 International Conference on Parallel Processing 1, 1990, pp. 375–378
- Manuel Castro “An Empirical Study of Operating Systems Errors” In Proceedings of the 18th ACM Symposium on Operating Systems Principles (SOSP), 2001, pp. 73–88
- “Finding and Understanding Bugs in C Compilers” In Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2011, pp. 283–294
- Andrew S. Tanenbaum and Herbert Bos “Modern Operating Systems” Pearson, 2014
- David R. Butenhof “Programming with POSIX Threads” Addison-Wesley, 1997
- Abraham Silberschatz, Peter B. Galvin and Greg Gagne “Operating System Concepts” Wiley, 2018
- “Threads Primer: A Guide to Multithreaded Programming” Prentice Hall, 1998
- Abraham Silberschatz, Peter B. Galvin and Greg Gagne “Operating System Concepts” Wiley, 2014
- “The Art of Multiprocessor Programming” Morgan Kaufmann, 2008
- Mark Moir, Daniel Nussbaum and Ori Shalev “Using elimination to implement scalable and lock-free FIFO queues” In ACM Transactions on Programming Languages and Systems (TOPLAS) 29.3, 2007, pp. 1–34
- Timothy L. Harris “A pragmatic implementation of non-blocking linked-lists” In Distributed Computing 14.3, 2001, pp. 195–212
- Intel “Cramming More Components onto Integrated Circuits Moore’s Law” Accessed on July 10, 2023 URL: https://www.intel.com/content/www/us/en/history/virtual-vault/articles/moores-law.html
- Ethan Mollick “Establishing Moore’s Law” In Annals of the History of Computing, IEEE 28, 2006, pp. 62–75 DOI: 10.1109/MAHC.2006.45
- Yevgen Voronenko “Library Generation For Linear Transforms Dissertation”, 2012
- John L. Hennessy and David A. Patterson “Computer Architecture: A Quantitative Approach” Elsevier, 2011
- Wen-mei W. Hwu “SIMD architecture and vectorization” In ACM SIGARCH Computer Architecture News 39.1 ACM, 2011, pp. 2–13
- Bruce Jacob, Spencer Ng and David T. Wang “Memory systems: cache, DRAM, disk” Morgan Kaufmann, 2011
- “Symmetric Multiprocessing” In Handbook of Hardware/Software Codesign Boston, MA: Springer, 2017
- J. Bosch “Symmetric Multiprocessing (SMP)” In Encyclopedia of Parallel Computing Boston, MA: Springer, 2011
- A. Silberschatz, P.B. Galvin and G. Gagne “Symmetric Multiprocessing” In Operating System Concepts Wiley, 2018
- S.P. Dandamudi “Symmetric Multiprocessing” In Guide to Assembly Language Programming in Linux Boston, MA: Springer, 2005
- R.K. Gupta “Heterogeneous Multiprocessor Architectures for Embedded Systems” In Proceedings of the IEEE 89.3, 2001, pp. 420–437
- S. Kumar, D. Raghavendra and L. Kallianpur “A Survey of Asymmetric Multiprocessing in Modern SoCs” In IEEE Design & Test 33.1, 2016, pp. 45–55
- D. Lebel, J. Levinsky and D. Morin “Asymmetric Multiprocessing in Mobile and Embedded Systems” In 2013 IEEE 19th International Symposium on Asynchronous Circuits and Systems, 2013, pp. 49–56
- “The impact of hyper-threading on processor resource utilization in production applications” In 2011 18th International Conference on High Performance Computing, 2011, pp. 1–10 DOI: 10.1109/HiPC.2011.6152743
- “Intel Hyper-Threading Technology to Achieve Computational Efficiency HIGH-PERFORMANCE COMPUTING” In dell high performace computing, 2003
- Subhash Saini and Robert T. Hood “Performance Evaluation of Intel Broadwell Nodes Based Supercomputer Using Computational Fluid Dynamics and Climate Applications” In 2017 IEEE 19th International Conference on High Performance Computing and Communications Workshops (HPCCWS), 2017, pp. 58–65
- Wessam Hassanein, Layali Rashid and Moustafa Hammad “Analyzing the Effects of Hyperthreading on the Performance of Data Management Systems” In International Journal of Parallel Programming 36, 2008, pp. 206–225 DOI: 10.1007/s10766-007-0066-x
- “Performance Evaluation of Hyper Threading Technology Architecture Using Microsoft Operating System Platform” In West African Journal of Industrial and Academic Research, 2019
- “A Comprehensive Analysis of NVD Concurrency Vulnerabilities” In 2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS), 2022, pp. 9–18 DOI: 10.1109/QRS57517.2022.00012
- “A survey of race bug detection techniques for multithreaded programmes” In Software Testing, Verification and Reliability 25, 2014 DOI: 10.1002/stvr.1564
- “DeepRace: Finding Data Race Bugs via Deep Learning” In CoRR abs/1907.07110, 2019 arXiv: http://arxiv.org/abs/1907.07110
- Cormac Flanagan, Stephen N Freund and Joshua B Saxe “ThreadSafe: Static analysis for thread-locality” In ACM Transactions on Programming Languages and Systems (TOPLAS) 32.4 ACM, 2010, pp. 13
- Martin Abadi, Cormac Flanagan and Stephen N. Freund “Types for Safe Locking: Static Race Detection for Java” In ACM Transactions on Programming Languages and Systems (TOPLAS) 28, 2006, pp. 207–255
- “RacerX: Effective, Static Detection of Race Conditions and Deadlocks” In ACM SIGOPS Operating Systems Review 37.5 ACM, 2003, pp. 237–252
- Mandana Vaziri, Frank Tip and Julian Dolby “Associating Synchronization Constraints with Data in an Object-Oriented Language” In ACM Sigplan Notices 41, 2006, pp. 334–345
- Jason W. Voung, Ranjit Jhala and Sorin Lerner “Relay: Static Race Detection on Millions of Lines of Code” In Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2007, pp. 205–214
- “Using static analysis to find bugs” In IEEE Software 25.5 IEEE, 2008, pp. 22–29
- “Static detection of concurrency defects” In ACM SIGPLAN Notices 43.1 ACM, 2008, pp. 205–216
- “CogniCrypt: supporting developers in using cryptography” In IEEE Security & Privacy 14.4 IEEE, 2016, pp. 68–77
- M. Ben-Ari “Tool Presentation: Teaching Concurrency and Model Checking” In Proceedings of the International SPIN Workshop on Model Checking Software Cham, Switzerland: Springer, 2009, pp. 6–11 DOI: 10.1007/978-3-642-02652-2“˙5
- “Advancing data race investigation and classification through visualization” In 2015 IEEE 3rd Working Conference on Software Visualization (VISSOFT), 2015, pp. 200–204 URL: https://api.semanticscholar.org/CorpusID:14574499
- D. Qi, N. Gu and J. Su “Detecting Data Race in Network Applications Using Static Analysis” In Proceedings of the International Conference on Networking and Network Applications (NaNA), 2019, pp. 313–318 DOI: 10.1109/NaNA.2019.00061
- “SWORD: a developer-oriented tool for detecting concurrency bugs” In Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation, 2008, pp. 45–56 ACM
- “Static Data Race Detection for Concurrent Programs with Asynchronous Calls” In Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), 2009, pp. 13–22 DOI: 10.1145/1595696.1595701
- M. Naik, A. Aiken and J. Whaley “Effective Static Race Detection for Java” In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) New York, NY, USA: Association for Computing Machinery, 2006, pp. 308–319 DOI: 10.1145/1133981.1134018
- P. Pratikakis, J.S. Foster and M. Hicks “LOCKSMITH: Practical Static Race Detection for C” In ACM Transactions on Programming Languages and Systems (TOPLAS) 33.1, 2011, pp. 1–55 DOI: 10.1145/1889997.1890000
- “KISS: Keep It Simple and Sequential” In Proceedings of the 25th Annual ACM SIGPLAN Conference on Programming Language Design and Implementation New York: ACM, 2004, pp. 14–24
- “Optimized Run-time Race Detection and Atomicity Checking Using Partial Discovered Types” In Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering New York: ACM, 2005, pp. 233–242
- “Static Data Race Detection for Concurrent Programs with Asynchronous Calls” In Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering New York: ACM, 2009, pp. 13–22
- “Practical Static Race Detection for Java Parallel Loops” In Proceedings of the International Symposium on Software Testing and Analysis New York: ACM, 2013, pp. 178–190
- “When Threads Meet Events: Efficient and Precise Static Race Detection with Origins” In Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation (PLDI ’21) Virtual, Canada: ACM, 2021, pp. 15 pages DOI: 10.1145/3453483.3454073
- “OpenRace: An Open Source Framework for Statically Detecting Data Races” Emails: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]”, In Coderrect Inc., 2021
- “LLOV: A Fast Static Data-Race Checker for OpenMP Programs” In ACM Trans. Archit. Code Optim. 17.4 New York, NY, USA: Association for Computing Machinery, 2020 DOI: 10.1145/3418597
- “OMPRacer: A Scalable and Precise Static Race Detector for OpenMP Programs” Affiliations and emails: Computer Science and Engineering, Texas A&M University, College Station, TX, brad, yanzeli, [email protected], [email protected]; Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, Livermore, CA, ilaguna, [email protected];0 Coderrect Inc, College Station, TX, [email protected] In SC20, November 9-19, 2020, Is Everywhere We Are, 2020 IEEE
- “Static Race Detection for Device Drivers: The Goblint Approach” In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, ASE ’16 Singapore, Singapore: Association for Computing Machinery, 2016, pp. 391–402 DOI: 10.1145/2970276.2970337
- “Eraser: a dynamic data race detector for multithreaded programs” In ACM SIGPLAN Notices 29.6, 1994, pp. 27–37 ACM
- “Sound Predictive Race Detection in Polynomial Time” In ACM Sigplan Notices 47, 2012, pp. 387–400
- “Efficient and Precise Data Race Detection for Multithreaded Object-Oriented Programs” In ACM Sigplan Notices 37, 2002, pp. 258–269
- Yuan Yu, Thomas Rodeheffer and Wei Chen “Racetrack: Efficient Detection of Data Race Conditions via Adaptive Tracking” In ACM SIGOPS Operating Systems Review 39, 2005, pp. 221–234 ACM
- Min Xu, Rastislav Bodík and Mark D. Hill “A Serializability Violation Detector for Shared-Memory Server Programs” In ACM Sigplan Notices 40, 2005, pp. 1–14
- “Detecting and Tolerating Asymmetric Races” In ACM SIGPLAN Notices 44, 2009, pp. 173–184 ACM
- “Instrumentation and Sampling Strategies for Cooperative Concurrency Bug Isolation” In ACM Sigplan Notices 45, 2010, pp. 241–255
- Soyeon Park, Richard W. Vuduc and Mary Jean Harrold “Falcon: Fault Localization in Concurrent Programs” In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering 1, 2010, pp. 245–254
- Soyeon Park, Richard Vuduc and Mary Jean Harrold “A Unified Approach for Localizing Non-Deadlock Concurrency Bugs” In 2012 IEEE 5th International Conference on Software Testing, Verification and Validation, 2012, pp. 51–60 IEEE
- Brandon Lucia, Brian P. Wood and Luis Ceze “Isolating and Understanding Concurrency Errors Using Reconstructed Execution Fragments” In ACM Sigplan Notices 46, 2011, pp. 378–388
- “A Lightweight System for Detecting and Tolerating Concurrency Bugs” In IEEE Transactions on Software Engineering 42.10, 2016, pp. 899–917
- “MagicFuzzer: Scalable Deadlock Detection for Large-Scale Applications” In International Conference on Software Engineering, 2012, pp. 606–616
- “MagicLock: Scalable Detection of Potential Deadlocks in Large-Scale Multithreaded Programs” In IEEE Transactions on Software Engineering 40, 2014, pp. 266–281
- Wei Zhang, Chang Sun and Shan Lu “ConMem: Detecting Severe Concurrency Bugs Through an Effect-Oriented Approach” In ACM SIGARCH Computer Architecture News 38, 2010, pp. 179–192
- “ThreadSanitizer: data race detection in practice” In Proceedings of the 2012 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2012, pp. 265–284 ACM
- Madanlal Musuvathi, Satish Narayanasamy and Sebastian Burckhardt “CHESS: a systematic testing tool for concurrent programs” In Proceedings of the ACM SIGPLAN 2008 conference on Programming language design and implementation, 2008, pp. 335–348 ACM
- Cormac Flanagan and Stephen N Freund “FastTrack: efficient and precise dynamic race detection” In ACM SIGPLAN Notices 39.6 ACM, 2004, pp. 121–133
- Patrice Godefroid, Nils Klarlund and Koushik Sen “ConTest: Speculative testing for concurrent programs” In Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, 2005, pp. 52–61 ACM
- “Avio: Detecting Atomicity Violations via Access-Interleaving Invariants” In IEEE Micro 27, 2007, pp. 26–35
- “Do I Use the Wrong Definition?: Defuse: Definition-Use Invariants for Detecting Concurrency and Sequential Bugs” In ACM Sigplan Notices 45, 2010, pp. 160–174
- “Conseq: Detecting Concurrency Bugs Through Sequential Errors” In ACM Sigplan Notices 39, 2011, pp. 251–264
- Baris Kasikci, Cristian Zamfir and George Candea “Racemob: Crowdsourced Data Race Detection” In Twenty-Fourth ACM Symposium on Operating Systems Principles, 2013, pp. 406–422
- Dongdong Deng, Wenguang Zhang and Shan Lu “Efficient Concurrency-Bug Detection Across Inputs” In ACM Sigplan Notices 48, 2013, pp. 785–802
- Baris Kasikci, Cristian Zamfir and George Candea “Automated Classification of Data Races Under Both Strong and Weak Memory Models” In ACM Transactions on Programming Languages & Systems 37, 2015, pp. 1–44
- Julian Seward, Nicholas Nethercote and Josef Weidendorfer “Valgrind: A framework for heavyweight dynamic binary instrumentation” In Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, 2005, pp. 89–100 ACM
- Zheng Cui, Xuejun Yang and Yiying Zhou “RoadRunner: Towards Automatic Checkpointing of Whole-System Computations” In Proceedings of the 2013 USENIX Annual Technical Conference (USENIX ATC), 2013, pp. 179–190 USENIX Association
- Wenguang Chen, Ying Lin and Jingling Xue “Saturn: efficient software error detection using relaxed dependences” In IEEE Transactions on Software Engineering 32.11 IEEE, 2006, pp. 873–890
- M.D. Bond, K.E. Coons and K.S. McKinley “PACER: Proportional Detection of Data Races” In Proceedings of the 31st Annual ACM SIGPLAN Conference on Programming Language Design and Implementation, 2010, pp. 255–268 ACM
- “MultiRace: Efficient On-the-Fly Data Race Detection in Multithreaded C++ Programs” In Concurrent Computation: Practice and Experience 19, 2007, pp. 327–340
- “Collaborative Technique for Concurrency Bug Detection” In International Journal of Parallel Programming 43, 2015, pp. 260–285
- “Automatic Detection, Validation, and Repair of Race Conditions in Interrupt-Driven Embedded Software” Early Access In IEEE Transactions on Software Engineering, 2020 DOI: 10.1109/TSE.2020.2989171
- J. Yang, B. Jiang and W.K. Chan “HistLockC: Precise memory access maintenance without lockset comparison for complete hybrid data race detection” In IEEE Transactions on Reliability 67.3, 2018, pp. 786–801 DOI: 10.1109/TR.2018.2832226
- Koushik Sen “Race Directed Random Testing of Concurrent Programs” In Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’08 Tucson, AZ, USA: Association for Computing Machinery, 2008, pp. 11–21 DOI: 10.1145/1375581.1375584
- “A Randomized Dynamic Program Analysis Technique for Detecting Real Deadlocks” In Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’09 Dublin, Ireland: Association for Computing Machinery, 2009, pp. 110–120 DOI: 10.1145/1542476.1542489
- “ConFuzz: Coverage-Guided Property Fuzzing for Event-Driven Programs” In Practical Aspects of Declarative Languages Cham: Springer International Publishing, 2021, pp. 127–144
- “Razzer: Finding Kernel Race Bugs through Fuzzing” In 2019 IEEE Symposium on Security and Privacy (SP), 2019, pp. 754–768 DOI: 10.1109/SP.2019.00017
- “DDRace: Finding Concurrency UAF Vulnerabilities in Linux Drivers with Directed Fuzzing” In 32nd USENIX Security Symposium, USENIX Security 2023, Anaheim, CA, USA, August 9-11, 2023 USENIX Association, 2023 URL: https://www.usenix.org/conference/usenixsecurity23/presentation/yuan-ming
- “Krace: Data Race Fuzzing for Kernel File Systems” In 2020 IEEE Symposium on Security and Privacy (SP), 2020, pp. 1643–1660 DOI: 10.1109/SP40000.2020.00078
- “Context-Sensitive and Directional Concurrency Fuzzing for Data-Race Detection” In 29th Annual Network and Distributed System Security Symposium, NDSS 2022, San Diego, California, USA, April 24-28, 2022 The Internet Society, 2022 URL: https://www.ndss-symposium.org/ndss-paper/auto-draft-198/
- Koushik Sen “Effective Random Testing of Concurrent Programs” In Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering, ASE ’07 Atlanta, Georgia, USA: Association for Computing Machinery, 2007, pp. 323–332 DOI: 10.1145/1321631.1321679
- “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 Atlanta, Georgia: Association for Computing Machinery, 2008, pp. 135–145 DOI: 10.1145/1453101.1453121
- Zhifeng Lai, S.C. Cheung and W.K. Chan “Detecting Atomic-Set Serializability Violations in Multithreaded Programs through Active Randomized Testing” In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, ICSE ’10 Cape Town, South Africa: Association for Computing Machinery, 2010, pp. 235–244 DOI: 10.1145/1806799.1806836
- “MagicFuzzer: Scalable Deadlock Detection for Large-Scale Applications” In Proceedings of the 34th International Conference on Software Engineering, ICSE ’12 Zurich, Switzerland: IEEE Press, 2012, pp. 606–616