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

软件学报 ISSN 1000-9825, CODEN RUXUEW                                       E-mail: jos@iscas.ac.cn
                 Journal of Software,2021,32(7):2016–2038 [doi: 10.13328/j.cnki.jos.006265]   http://www.jos.org.cn
                 ©中国科学院软件研究所版权所有.                                                         Tel: +86-10-62562563


                                                              
                 操作系统内核并发错误检测研究进展

                 石剑君,   计卫星,   石   峰

                 (北京理工大学  计算机学院,北京   100081)
                 通讯作者:  计卫星, E-mail: jwx@bit.edu.cn

                 摘   要:  并发错误是程序设计语言和软件工程领域的研究热点之一.近年来,针对应用程序并发错误检测的研究
                 已取得了很大进展.但是由于操作系统内核的并发和同步机制复杂、代码规模庞大,与应用程序级并发错误检测相
                 比,操作系统内核的并发错误检测研究仍面临巨大的挑战.对此,国内外学者提出了各种用于操作系统内核并发错误
                 检测的方法.首先介绍了并发错误的基本类型、检测方法和评价指标,讨论了现有的并发错误检测方法和工具的局
                 限性;然后,从形式化验证、静态分析、动态分析和静态动态相结合 4 个方面,对现有的操作系统内核并发错误检测
                 的研究工作进行了分类阐述,并作了系统总结和对比分析;最后,探讨了操作系统内核并发错误检测研究面临的挑
                 战,并对该领域未来的研究趋势进行了展望.
                 关键词:  操作系统;多线程并行;并发错误;缺陷检测
                 中图法分类号: TP306

                 中文引用格式:  石剑君,计卫星,石峰.操作系统内核并发错误检测研究进展.软件学报,2021,32(7):2016–2038. http://www.jos.
                 org.cn/1000-9825/6265.htm
                 英文引用格式: Shi JJ, Ji WX, Shi F. Recent progress of concurrency bug detection in operating system kernels. Ruan Jian Xue
                 Bao/Journal of Software, 2021,32(7):2016–2038 (in Chinese). http://www.jos.org.cn/1000-9825/6265.htm
                 Recent Progress of Concurrency Bug Detection in Operating System Kernels

                 SHI Jian-Jun,   JI Wei-Xing,   SHI Feng
                 (School of Computer Science and Technology, Beijing Institute of Technology, Beijing 100081, China)
                 Abstract:    Concurrency bug detection is a hot research topic in the area of programming language and software engineering. In recent
                 years, researchers have made great progress in concurrency bug detection of applications. However, as operating system (OS) kernels
                 always have high  concurrency,  complex synchronization  mechanisms, and large scale of source codes, researches on  concurrency bug
                 detection of OS kernels are more challenging than applications. To address this issue, researchers have proposed various approaches to
                 detect  concurrency bugs in  OS kernels.  This study  first introduces the basic types, detection techniques,  and  evaluation indicators of
                 concurrency bug detection, and the limitations of existing concurrency bug detection tools in OS kernels are discussed. Then, researches
                 on concurrency bug detection in OS kernels are described from four aspects: Formal verification, static analysis, dynamic analysis, and
                 combination  of  both  static and  dynamic analysis.  Some  typical approaches are comprehensively compared.  Finally, the challenges  of
                 concurrency bug detection in OS kernels are discussed, and the future research trends in this field are prospected.
                 Key words:    operating system; multithreading parallel; concurrency bug; defect detection

                    随着计算机软件技术的发展,多线程与并发编程已广泛应用于软件系统的开发过程中.多个线程的并发交
                 叉执行可能引发各种各样的并发错误.并发错误通常会使程序或系统陷入一种不确定的运行状态,甚至带来系

                     基金项目: 2018 年工业互联网创新发展工程-工业微服务与工业 APP 部署应用工业互联网平台测试床
                     Foundation item:  2018 Industrial Internet Innovation  and Development Project—The Project of Industrial Internet Platform  Test
                 Bed for Industrial Microservice and Application Deployment
                     本文由“面向非确定性的软件质量保障方法与技术”专题特约编辑陈俊洁副教授、汤恩义副教授、何啸副教授以及马晓星教
                 授推荐.
                     收稿时间: 2020-09-14;  修改时间: 2020-10-26;  采用时间: 2020-12-14; jos 在线出版时间: 2021-01-22
   93   94   95   96   97   98   99   100   101   102   103