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

2036                                     Journal of Software  软件学报 Vol.32, No.7,  July 2021

                [46]    Wang  J, Zhan N, Feng X, Liu Z. Overview  of  formal methods. Ruan  Jian Xue Bao/Journal  of  Software,  2019,30(1):33–61 (in
                     Chinese with English abstract). http://www.jos.org.cn/9825-1000/5652.htm [doi: 10.13328/j.cnki.jos.005652]
                [47]    Owicki S, Gries D. An axiomatic proof technique for parallel programs i. Acta Informatica, 1976,6(4):319–340.
                [48]    Yang J, Hawblitzel C. Safe to the last instruction: Automated verification of a type-safe operating system. In: Proc. of the 31st
                     ACM  SIGPLAN Conf.  on  Programming  Language Design and Implementation  (PLDI). New York: Association  for Computing
                     Machinery, 2010. 99–110. [doi: 10.1145/1806596.1806610]
                [49]    Boogie:  An intermediate verification language. 2020. https://www.microsoft.com/en-us/research/project/boogie-an-intermediate-
                     verification-language/
                [50]    Nelson L, Sigurbjarnarson H, Zhang K, Johnson D, Bornholt J, Torlak E, Wang X. Hyperkernel: Push-button verification of an os
                     kernel. In: Proc. of the 26th Symp. on Operating Systems Principles (SOSP). Shanghai: ACM, 2017. 252–269.
                [51]    Sigurbjarnarson H, Bornholt J, Torlak E, Wang X. Push-button verification of file systems via crash refinement. In: Proc. of the
                     12th USENIX Conf. on Operating Systems Design and Implementation. 2016. 1–16. [doi: 10.1145/3132747.3132748]
                [52]    Xu F, Fu M, Feng X, Zhang X, Zhang H, Li Z. A practical verification framework for preemptive OS kernels. In: Proc. of the Conf.
                     on Computer Aided Verification. Cham: Springer-Verlag, 2016. 59–79.
                [53]    Klein G, Andronick J, Elphinstone K, Murray T, Sewell T, Kolanski R, Heiser G. Comprehensive formal verification of an OS
                     microkernel. ACM Trans. on Computer Systems (TOCS), 2014,32(1):1–70. [doi: 10.1145/2560537]
                [54]    Merz S.  Model  checking:  A tutorial  overview. In: Summer School on Modeling  and  Verification of Parallel  Processes.  Berlin,
                     Heidelberg: Springer-Verlag, 2001. 3–38.
                [55]    Visser W, Havelund K, Brat G, Park S. Model checking programs. In: Proc. of the Conf. of Automated Software Engineering (ASE).
                     2003,10(2):203–232.
                [56]    Kim M, Hong S, Hong C, Kim T. Model-based kernel testing for concurrency bugs through counter example replay. Electronic
                     Notes in Theoretical Computer Science, 2009,253(2):21–36. [doi: 10.1016/j.entcs.2009.09.049]
                [57]    Holzmann GJ, Joshi  R. Model-driven software verification.  ACM  Computing Surveys (CSUR), 2009,41(4):1–54. [doi: 10.1145/
                     1592434.1592438]
                [58]    Holzmann GJ. The model checker SPIN. IEEE Trans. on Software Engineering, 1997,23(5):279–295. [doi: 10.1109/32.588521]
                [59]    Flanagan C, Ave L, Freund SN. Type-based race detection for Java. In: Proc. of the ACM SIGPLAN 2000 Conf. on Programming
                     Language Design and Implementation (PLDI). 2000. 219–232. [doi: 10.1145/349299.349328]
                [60]    Sasturkar A, Agarwal R, Wang LQ, 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. 2005. 83–94. [doi: 10.1145/1065944.1065956]
                [61]    Vojdani V, Apinis K, Rõtov V, et al. Static race detection for device drivers: The Goblint approach. In: Proc. of the 31st IEEE/ACM
                     Int’l Conf. on Automated Software Engineering (ASE). Singapore: ACM Press, 2016. 391–402.
                [62]    Kildall GA. A unified approach to global program optimization. In: Proc. of the 1st Annual ACM SIGACT-SIGPLAN Symp. on
                     Principles of Programming Languages (POPL). Boston: ACM Press, 1973. 194–206. [doi: 10.1145/512927.512945]
                [63]    Engler D, Ashcraft K. RacerX: Effective,  static  detection  of  race conditions and  deadlocks. ACM  SIGOPS Operating  Systems
                     Review, 2003,37(5):237–252. [doi: 10.1145/1165389.945468]
                [64]    Bai JJ, Wang YP, Lawall J, Hu SM. DSAC: Effective static analysis of sleep-in-atomic-context bugs in kernel modules. In: Proc. of
                     the 2018 USENIX Annual Technical Conf. (USENIX ATC). 2018. 587–600.
                [65]    King JC. Symbolic  execution  and program  testing.  Communications of the  ACM, 1976,19(7):385–394. [doi: 10.1145/360248.
                     360252]
                [66]    Tan L, Zhou Y, Padioleau Y. aComment: Mining annotations from comments and code to detect interrupt related concurrency bugs.
                     In: Proc. of the 33rd Int’l Conf. on Software Engineering (ICSE). IEEE, 2011. 11–20. [doi: 10.1145/1985793.1985796]
                [67]    Breuer PT, Valls MG. Static deadlock detection in the Linux kernel. In: Proc. of the Int’l Conf. on Reliable Software Technologies.
                     Berlin, Heidelberg: Springer-Verlag, 2004. 52–64.
                [68]    Hong S, Kim M. Effective pattern-driven concurrency bug detection for operating systems. Journal of Systems and Software, 2013,
                     86(2):377–388. [doi: 10.1016/j.jss.2012.08.063]
   113   114   115   116   117   118   119   120   121   122   123