首页 | 本学科首页   官方微博 | 高级检索  
     

一种面向内核接口的顺序依赖规则挖掘与违例检测方法
引用本文:刘虎球,白家驹,王瑀屏. 一种面向内核接口的顺序依赖规则挖掘与违例检测方法[J]. 计算机学报, 2015, 38(5)
作者姓名:刘虎球  白家驹  王瑀屏
作者单位:清华大学计算机科学与技术系 北京 100084
基金项目:国家“八六三”高技术研究发展计划重大课题项目以支撑公众与企业服务为主的网络操作系统研制,Tencent Incorporated and the National High Technology Research and Development Program (863 Program) of China
摘    要:内核扩展函数以接口的形式提供给驱动,用于管理设备和申请相关的资源.这些接口中存在大量的顺序依赖规则,如自旋锁必须经过初始化才能加锁,然后才能解锁;驱动在加载时申请的内存,卸载时必须予以释放等.然而,驱动开发者常常不熟悉或疏忽内核接口的使用规则,导致驱动中存在大量的接口使用违例,影响驱动及系统的可靠运行.文中提出了一种面向内核接口的顺序依赖规则挖掘与违例检测方法(SD-Miner).该方法结合驱动源码的结构特征,对驱动代码使用的内核接口进行统计分析,挖掘并提取内核接口的顺序依赖规则,并利用提取的规则检测现有的驱动源码中的使用违例.SD-Miner对Linux 3.10.10和2.6.38的驱动源码分别进行了规则挖掘和违例检测.对比检测结果发现,在2.6.38中检测出的错误中,有64处在3.10.10中得到了修正.SD-Miner检测和分析Linux 3.10.10的3781款驱动的过程仅耗费5 min,共计提取出了220个顺序依赖相关的接口使用规则,并检测到了756个使用违例,作者将其中50个提交给了开发者,累计有25个回复者对20个使用违例进行了确认.实验结果表明,SD-Miner能够有效地挖掘出内核接口的顺序依赖规则,并检测出使用违例,进而辅助开发人员对驱动进行修正来提高驱动可靠性.此外,规则的挖掘是基于驱动的结构信息和统计信息,不需要开发者在源码中提供额外的注释及标注.

关 键 词:内核扩展函数  规则挖掘  违例检测  顺序依赖规则

A Method to Mine Sequence Dependent Rules and Detect Violations for Kernel Extension Interfaces
LIU Hu-Qiu,BAI Jia-Ju,WANG Yu-Ping. A Method to Mine Sequence Dependent Rules and Detect Violations for Kernel Extension Interfaces[J]. Chinese Journal of Computers, 2015, 38(5)
Authors:LIU Hu-Qiu  BAI Jia-Ju  WANG Yu-Ping
Abstract:
Keywords:kernel extension functions  rules mining  violation detection  sequence dependent rules
本文献已被 万方数据 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号