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

基于已有实例的Linux驱动程序前向移植接口补丁推荐
引用本文:李斌,贺也平,马恒太,芮建武.基于已有实例的Linux驱动程序前向移植接口补丁推荐[J].计算机研究与发展,2021,58(1):189-207.
作者姓名:李斌  贺也平  马恒太  芮建武
作者单位:中国科学院大学 北京100049;中国科学院软件研究所基础软件国家工程研究中心 北京100190;中国科学院大学 北京100049;中国科学院软件研究所基础软件国家工程研究中心 北京100190;计算机科学国家重点实验室(中国科学院软件研究所)北京100190;中国科学院大学 北京100049;中国科学院软件研究所基础软件国家工程研究中心 北京100190;中国科学院大学 北京100049;中国科学院软件研究所基础软件国家工程研究中心 北京100190
基金项目:中国科学院战略性先导科技专项
摘    要:Linux内核版本频繁升级对驱动程序带来的关联影响程度和影响范围都很大,为了修复这种关联影响带来的驱动程序调用内核接口的不一致性错误,不断修改旧版本驱动代码进行前向移植是一个持续和紧迫的问题.驱动演化辅助理解、驱动移植中间库辅助适配和驱动移植辅助信息等方面的已有研究,通过检索语句级别的辅助信息提高了驱动移植的效率.但是已有方法仅关注了检索辅助信息本身却并没有区分其中包含的有效补丁素材,因此还需要人工分析和手工构造适配性补丁.为了克服上述限制,提出了一种全新的方法旨在推荐驱动前向移植中接口错误的高质量补丁.观察发现,依赖相同内核接口服务的多个不同驱动程序之间存在相同或相似的内核接口调用,内核版本升级后其他驱动的历史开发信息中可能存在这种复用接口及其使用变更的已有实例代码.利用出错接口语句和相似已有实例的共性分析错误问题的特点,通过已有实例的辅助作用抽取针对性的接口修改方式和修改内容等细粒度素材生成待推荐补丁.具体结合分界点识别、相似度计算、细粒度差异比较和频度计算确定有效修改方式.提出了一种基于已有实例差异特征的分类算法,通过区分修改内容的不同类型分别从2种数据源提取.最后使用编辑脚本技术生成推荐补丁列表.在9个不同类型的真实驱动程序上的实验表明,该方法能够推荐驱动移植中7类接口错误补丁,有效补丁占比约67.4%,对现有辅助方法形成了有效补充和拓展.

关 键 词:驱动移植  已有实例  接口复用  修改方式  补丁推荐  接口错误

Recommending Interface Patches for Forward Porting of Linux Device Drivers Based on Existing Instances
Li Bin,He Yeping,Ma Hengtai,Rui Jianwu.Recommending Interface Patches for Forward Porting of Linux Device Drivers Based on Existing Instances[J].Journal of Computer Research and Development,2021,58(1):189-207.
Authors:Li Bin  He Yeping  Ma Hengtai  Rui Jianwu
Affiliation:(University of Chinese Academy of Sciences,Beijing 100049;National Engineering Center of Fundamental Software,Institute of Software,Chinese Academy of Sciences,Beijing 100190;State Key Laboratory of Computer Science(Institute of Software,Chinese Academy of Sciences),Beijing 100190)
Abstract:
Keywords:driver porting  existing instances  interface reuse  modification modes  patches recommend  interface error
本文献已被 维普 万方数据 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

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