Page 117 - 《软件学报》2021年第7期
P. 117

石剑君  等:操作系统内核并发错误检测研究进展                                                         2035


                [23]    Abbaspour Asadollah S, Sundmark D, Eldh S, Hansson H. Concurrency bugs in open source software: A case study. Journal of
                     Internet Services and Applications, 2017,8(1):1–15.
                [24]    Shi JJ, Ji WX, Wang YZ, et al. Linux kernel data races in recent 5 years. Chinese Journal of Electronics, 2018,27(3):556–560. [doi:
                     10.1049/cje.2018.03.015]
                [25]    Bai JJ, Lawall J, Chen QL, Hu SM. DCUAF: Effective static analysis of concurrency use-after-free bugs in linux device drivers. In:
                     Proc. of the 2019 USENIX Annual Technical Conference (ATC). 2019. 255–268.
                [26]    Williams A, Thies W, Ernst MD. Static deadlock detection for Java libraries. In: Proc. of the European Conf. on Object-oriented
                     Programming (ECOOP). Berlin, Heidelberg: Springer-Verlag, 2005. 602–629. [doi: 10.1145/1735970.1736040]
                [27]    Burckhardt S, Kothari P, Musuvathi M, Nagarakatte S. A randomized scheduler with probabilistic guarantees of finding bugs. ACM
                     SIGARCH Computer Architecture News, 2010,38(1):167–178. [doi: 10.1145/1735970.1736040]
                [28]    Cai Y, Chan WK. MagicFuzzer: Scalable deadlock detection for large-scale applications. In: Proc. of the 34th Conf. on Software
                     Engineering (ICSE). 2012. 606–616. [doi: 10.1109/ICSE.2012.6227156]
                [29]    Lamport L. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 1978,21(7):558565.
                     [doi: 10.1145/3335772.3335934]
                [30]    Sheng T, Vachharajani N, Eranian S, Hundt R, Chen W, Zheng W. RACEZ: A lightweight and non-invasive race detection tool for
                     production applications. In: Proc. of the 33rd Conf. on Software Engineering (ICSE). Waikiki: ACM Press, 2011. 401–410. [doi: 10.
                     1145/1985793.1985848]
                [31]    Savage S.  Eraser:  A dynamic data  race detector for  multithreaded programs.  ACM  Trans. on  Computer Systems, 1997,15(4):
                     391–411. [doi: 10.1145/265924.265927]
                [32]    O’Callahan R, Choi JD. Hybrid dynamic data race detection. In: Proc. of the 9th ACM SIGPLAN Symp. on Principles and Practice
                     of Parallel Programming (PPoPP).  New  York:  Association for  Computing  Machinery, 2003. 167–178. [doi: 10.1145/781498.
                     781528]
                [33]    Voung JW, Jhala  R,  Lerner S.  RELAY: Static  race detection on  millions of lines of  code.  In: Proc. of the 6th Joint European
                     Software Engineering Conf. and Symp. on the Foundations of Software Engineering (ESEC/FSE). Dubrovnik: ACM Press, 2007.
                     205–214. [doi: 10.1145/1287624.1287654]
                [34]    Pratikakis P, Foster JS, Hicks M. Locksmith: Context-sensitive correlation analysis for race detection. ACM SIGPLAN Notices,
                     2006,41(6):320–331. [doi: 10.1145/1133255.1134019]
                [35]    Deligiannis P, Donaldson AF, Rakamaric Z. Fast and precise symbolic analysis of concurrency bugs in device drivers (t). In: Proc.
                     of the 30th IEEE/ACM Conf. on Automated Software Engineering (ASE). Lincoln: IEEE, 2015. 166–177. [doi: 10.1109/ASE.2015.
                     30]
                [36]    Park S,  Lu S,  Zhou  Y.  CTrigger:  Exposing  atomicity  violation bugs from  their hiding places. In: Proc. of  the 14th  Conf. on
                     Architectural Support for Programming Languages and Operating Systems. 2009. 25–36. [doi: 10.1145/1508244.1508249]
                [37]    Sasturkar A, Agarwal R, Wang L, Stoller SD. Automated type-based analysis of data races and atomicity. In: Proc. of the 10th ACM
                     SIGPLAN Symp. on Principles and Practice of Parallel Programming (PPoPP). Chicago: ACM Press, 2005. 83–94. [doi: 10.1145/
                     1065944.1065956]
                [38]    Lockdep. 2020. https://www.kernel.org/doc/Documentation/locking/lockdep-design.txt
                [39]    KASAN. 2020. https://www.kernel.org/doc/html/latest/dev-tools/kasan.html
                [40]    Syzkaller. 2020. https://github.com/google/syzkaller
                [41]    KTSAN. 2020. https://github.com/google/ktsan
                [42]    Luk CK, Cohn R, Muth R, Patil H, Klauser A, Lowney G, Wallace S, Reddi VJ, Hazelwood K. Pin: Building customized program
                     analysis tools with dynamic instrumentation. ACM SIGPLAN Notices, 2005,40(6):190–200. [doi: 10.1145/1064978.1065034]
                [43]    Nethercote N, Seward J. Valgrind: A framework for heavyweight dynamic binary instrumentation. ACM SIGPLAN Notices, 2007,
                     42(6):89–100. [doi: 10.1145/1273442.1250746]
                [44]    KCSAN. 2020. https://www.kernel.org/doc/html/latest/dev-tools/kcsan.html
                [45]    Jeong DR, Kim K, Shivakumar B, Lee B, Shin I. Razzer: Finding kernel race bugs through fuzzing. In: Proc. of the 2019 IEEE
                     Symp. on Security and Privacy (SP). San Francisco: IEEE, 2019. 754–768. [doi: 10.1109/SP.2019.00017]
   112   113   114   115   116   117   118   119   120   121   122