高级检索

    基于错误根因的Linux驱动移植接口补丁推荐

    Recommending Interface Patches for Linux Drivers Porting Based on Root Cause of Error

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

       

      Abstract: Linux kernel version changes bring inconsistency errors in driver calls to kernel interfaces very frequently. It is not only a heavy workload through manual repair, but also may introduce new errors. To overcome this problem, exiting researches on driver porting of middle library auxiliary adaptation and driver porting of auxiliary information provide auxiliary examples, but manual analysis and manual patch construction are still required, so the manual repair workload is still relatively large and the efficiency is low. To this end, we recommend high-quality patches to reduce the workload and improve the efficiency of manual error repair. Unlike traditional methods that identify the same type of errors through the similarity of error code forms, we propose to identify the same type of errors based on the same cause and origin of the error. A hierarchical search algorithm is proposed to obtain the root cause of the error to be fixed, through the root cause to identify the same type of error fix instances, extract and select targeted fix patterns to implement high-quality patch recommendations for the same type of unfixed errors. Experiments on the collected 19 real driver data sets show that the method in this paper has significant improvement in the correct rate of patch recommendation compared with the traditional methods.

       

    /

    返回文章
    返回