摘要
Linux内核版本变更带来驱动程序调用内核接口的不一致性错误非常频繁,其通过手工修复不仅工作量繁重,还可能引入新的错误.针对这个问题,驱动移植中间库辅助适配和驱动移植辅助信息等方面的已有研究提供了辅助示例,但是还需要人工分析和手工构造补丁,人工修复的工作量依然较大并且效率较低.为此,通过推荐高质量补丁降低人工修复的工作量并提高修复效率.与传统方法通过错误代码形式的相似性识别同类错误不同,提出依据错误发生的相同原因和来源识别同类错误.提出了一种分层搜索算法用于获取待修复错误对应的错误根因,通过错误根因识别同类错误的修复实例,从其中提取并选择针对性修复模板实现同类未修复错误的高质量补丁推荐.在收集的19个真实驱动程序数据集上实验表明,所提方法相比传统方法的补丁推荐正确率有显著提高.
-
单位中国科学院软件研究所; 计算机科学国家重点实验室; 中国科学院大学