Page 77 - 《软件学报》2025年第7期
P. 77

2998                                                       软件学报  2025  年第  36  卷第  7  期


                 (2) 基于关键行为插桩的复现技术: 识别系统源码中的关键行为并进行插桩, 记录测试阶段的信息. 在复现阶段, 这
                 些信息用于控制逻辑流, 精确重现缺陷场景. (3) 持续开放共享的缺陷数据库与平台: 建立一个开放共享的分布式
                 系统缺陷数据库和平台, 供研究人员共享缺陷信息、复现脚本和解决方案. 通过历史缺陷的积累和复现过程, 启发
                 新的缺陷发现和复现, 加速缺陷修复和系统安全性的提升.

                 References:
                  [1]  Ahmed W, Wu YW. A survey on reliability in distributed systems. Journal of Computer and System Sciences, 2013, 79(8): 1243–1255.
                      [doi: 10.1016/j.jcss.2013.02.006]
                  [2]  Orgerie  AC,  de  Assuncao  MD,  Lefevre  L.  A  survey  on  techniques  for  improving  the  energy  efficiency  of  large-scale  distributed
                      systems. ACM Computing Surveys (CSUR), 2014, 46(4): 47. [doi: 10.1145/2532637]
                  [3]  Zhang XL, Yang JH, Sun XQ, Wu JP. Survey of geo-distributed cloud research progress. Ruan Jian Xue Bao/Journal of Software, 2018,
                      29(7): 2116–2132 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5555.htm [doi: 10.13328/j.cnki.jos.005555]
                  [4]  Martinho C, Strickx T. Understanding how Facebook disappeared from the Internet. 2024. https://blog.cloudflare.com/october-2021-
                      facebook-outage/
                  [5]  ZooKeeper. Support new configuration syntax for resilient network feature. 2024. https://issues.apache.org/jira/browse/ZOOKEEPER-
                      3189
                  [6]  Legay A, Delahaye B, Bensalem S. Statistical model checking: An overview. In: Proc. of the 1st Int’l Conf. on Runtime Verification. St.
                      Julians: Springer, 2010. 122–135. [doi: 10.1007/978-3-642-16612-9_11]
                  [7]  Sinha R, Patil S, Gomes L, Vyatkin V. A survey of static formal methods for building dependable industrial automation systems. IEEE
                      Trans. on Industrial Informatics, 2019, 15(7): 3772–3783. [doi: 10.1109/TII.2019.2908665]
                  [8]  Umar  MA,  Chen  ZF.  A  comparative  study  of  dynamic  software  testing  techniques.  Int’l  Journal  of  Advanced  Networking  and
                      Applications, 2020, 12(3): 4575–4584. [doi: 10.35444/IJANA.2020.12301]
                  [9]  Cimatti A, Clarke E, Giunchiglia F, Roveri M. NuSMV: A new symbolic model verifier. In: Proc. of the 11th Int’l Conf. on Computer
                      Aided Verification. Trento: Springer, 1999. 495–499. [doi: 10.1007/3-540-48683-6_44]
                 [10]  Kwiatkowska M, Norman G, Parker D. PRISM: Probabilistic symbolic model checker. In: Proc. of the 12th Int’l Conf. on Computer
                      Performance Evaluation: Modelling Techniques and Tools. London: Springer, 2002. 200–204. [doi: 10.1007/3-540-46029-2_13]
                 [11]  Holzmann G, Najm E, Serhrouchni A. SPIN model checking: An introduction. Int’l Journal on Software Tools for Technology Transfer,
                      2000, 2(4): 321–327. [doi: 10.1007/s100090050039]
                 [12]  Chen J. On using static analysis in distributed system testing. In: Proc. of the 2nd Int’l Workshop on Engineering Distributed Objects.
                      Davis: Springer, 2000. 145–162. [doi: 10.1007/3-540-45254-0_13]
                 [13]  Lenarduzzi V, Saarimaki N, Taibi D. On the diffuseness of code technical debt in Java projects of the apache ecosystem. In: Proc. of the
                      2019 IEEE/ACM Int’l Conf. on Technical Debt (TechDebt). Montreal: IEEE, 2019. 98–107. [doi: 10.1109/TechDebt.2019.00028]
                 [14]  Imtiaz N, Murphy B, Williams L. How do developers act on static analysis alerts? An empirical study of coverity usage. In: Proc. of the
                      30th Int’l Symp. on Software Reliability Engineering. Berlin: IEEE, 2019. 323–333. [doi: 10.1109/ISSRE.2019.00040]
                 [15]  Meyer FJ, Pradhan DK. Dynamic testing strategy for distributed systems. IEEE Trans. on Computers, 1989, 38(3): 356–365. [doi: 10.
                      1109/12.21122]
                 [16]  Ulrich A, König H. Architectures for testing distributed systems. In: Csopaki G, Dibuz S, Tarnay K, eds. Testing of Communicating
                      Systems: Methods and Applications. Boston: Springer, 1999. 93–108. [doi: 10.1007/978-0-387-35567-2_7]
                 [17]  Torens C, Ebrecht L. RemoteTest: A framework for testing distributed systems. In: Proc. of the 5th Int’l Conf. on Software Engineering
                      Advances. Nice: IEEE, 2010. 441–446. [doi: 10.1109/ICSEA.2010.75]
                 [18]  Lefeuvre  H,  Bădoiu  VA,  Chien  Y,  Huici  F,  Dautenhahn  N,  Olivier  P.  Assessing  the  impact  of  interface  vulnerabilities  in
                      compartmentalized software. In: Proc. of the 30th Network and Distributed System Security. San Diego: NDSS, 2023. [doi: 10.14722/
                      ndss.2023.24117]
                 [19]  Han S, Shin KG, Rosenberg HA. DOCTOR: An integrated software fault injection environment for distributed real-time systems. In:
                      Proc. of the 1995 IEEE Int’l Computer Performance and Dependability Symp. Erlangen: IEEE, 1995. 204–213. [doi: 10.1109/IPDS.
                      1995.395831]
                 [20]  Lu J, Liu C, Li L, Feng XB, Tan F, Yang J, You L. CrashTuner: Detecting crash-recovery bugs in cloud systems via meta-info analysis.
                      In: Proc. of the 27th ACM Symp. on Operating Systems Principles. Huntsville: ACM, 2019. 114–130. [doi: 10.1145/3341301.3359645]
                 [21]  Chen YL, Ma FC, Zhou YH, Gu M, Liao Q, Jiang Y. Chronos: Finding timeout bugs in practical distributed systems by deep-priority
                      fuzzing with transient delay. In: Proc. of the 2024 IEEE Symp. on Security and Privacy. San Francisco: IEEE, 2024. 1939–1955. [doi:
   72   73   74   75   76   77   78   79   80   81   82