国内刊号:11-5602/TP
国际刊号:1673-9418
发布日期:
作者:林锴, 陶传奇, 黄志球
单位:1. 南京航空航天大学 计算机科学与技术学院,南京 2111062. 南京航空航天大学 高安全系统的软件开发与验证技术工信部重点实验室,南京 2111063. 南京大学 计算机软件新技术国家重点实验室,南京 2100234. 软件新技术与产业化协同创新中心,南京 210093
关键词:异常处理,代码推荐,自注意力网络,上下文代码
为了保证软件的健壮性以及系统的可靠性,异常处理被广泛应用于软件开发过程中。开发者们希望选择合适的异常处理代码以防止出现程序崩溃或者内存泄漏等问题。然而开发者,尤其是新手,由于缺乏经验很难编写出正确或规范的异常处理代码。为了协助开发者编写正确的异常处理代码,提出了面向异常处理的代码智能化推荐方法,即DeepEHCR。该方法通过构建API调用树来表示异常发生位置的上下文信息,然后根据上下文信息,利用自注意力网络推荐相应的异常处理策略。针对处理异常这一具体策略,利用Transformer模型进一步推荐处理异常相关的API序列。实验表明DeepEHCR在异常处理策略推荐和API序列推荐上都有较高的性能。在异常处理策略推荐方面,Accuracy、Precision、Recall以及F1-score的值分别达到了89.78%、89.98%、89.34%以及89.59%。在API序列推荐方面,Hit@1/3/5的值分别达到了57.83%、69.73%、74.79%。除此之外,DeepEHCR在修复真实的异常漏洞方面也优于现有研究工作。
来源:2023年第3期
《计算机科学与探索》期刊编辑部