-
题名基于代码上下文相似度分析的代码问题修复推荐方法
- 1
-
-
作者
刘霜
吴毅坚
沈立炜
赵文耘
-
机构
复旦大学软件学院
复旦大学计算机科学技术学院
上海市数据科学重点实验室
-
出处
《计算机应用与软件》
北大核心
2022年第6期21-28,102,共9页
-
基金
上海市科技发展基金项目(18DZ1112100,18DZ1112102)。
-
文摘
代码静态扫描是用于检测代码异味、潜在缺陷等代码问题(Issue)的重要手段,但开发人员仅根据所给出的问题类型和位置,往往难以快速理解并给出修复问题的方案。提出一种基于代码上下文相似度分析的代码问题修复推荐方法。该方法收集历史版本中代码问题的修复案例,建立问题修复资源库,根据问题类型、问题代码及上下文、修复代码及上下文对修复案例进行聚类,对每种不同类型的问题建立修复模板,通过对有同类问题的目标代码及其上下文进行相似性分析,从而推荐具体的修复方式。实验结果表明,该方法所采用的问题聚类技术能有效提高对目标问题推荐修复方式的效果。
-
关键词
代码上下文
相似度分析
代码问题修复推荐
-
Keywords
Code context
Similarity analysis
Code issue resolutions recommendation
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名编程现场上下文深度感知的代码行推荐
被引量:1
- 2
-
-
作者
陶传奇
包盼盼
黄志球
周宇
张智轶
-
机构
南京航空航天大学计算机科学与技术学院
高安全系统的软件开发与验证技术工信部重点实验室(南京航空航天大学)
计算机软件新技术国家重点实验室(南京大学)
-
出处
《软件学报》
EI
CSCD
北大核心
2021年第11期3351-3371,共21页
-
基金
国家重点研发计划(2018YFB1003900)
国家自然科学基金(61602267,61402229)
计算机软件新技术国家重点实验室基金(KFKT2018B19)。
-
文摘
在软件开发的编程现场,有大量与当前开发任务相关的信息,比如代码上下文信息、用户开发意图等.如果能够根据已有的编程现场上下文给开发人员推荐当前代码行,不仅能够帮助开发人员更好地完成开发任务,还能提高软件开发的效率.而已有的一些方法通常是进行代码修复或者补全,又或者只是基于关键词匹配的搜索方法,很难达到推荐完整代码行的要求.针对上述问题,一种可行的解决方案是基于已有的海量源码数据,利用深度学习析取代码行的相关上下文因子,挖掘隐含的上下文信息,为精准推荐提供基础.因此,提出了一种基于深度学习的编程现场上下文深度感知的代码行推荐方法,能够在已有的大规模代码数据集中学习上下文之间潜在的关联关系,利用编程现场已有的源码数据和任务数据得到当前可能的代码行,并推荐Top-N给编程人员.代码行深度感知使用RNN Encoder-Decoder,该框架能够将编程现场已有的若干行上文代码行进行编码,得到一个包含已有代码行上下文信息的向量,然后根据该向量进行解码,得到预测的Top-N代码行输出.利用在开源平台上收集的大规模代码行数据集,对方法进行实验并测试,结果显示,该方法能够根据已有的上下文推荐相关的代码行给开发人员,Top-10的推荐准确率有60%左右,并且MRR值在0.3左右,表示用户满意的推荐项排在N个推荐结果中比较靠前的位置.
-
关键词
编程现场
代码上下文
代码行
深度学习
RNN
Encoder-Decoder
-
Keywords
onsite programming
source code context
code line
deep learning
RNN Encoder-Decoder
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名面向异常处理的代码智能化推荐
- 3
-
-
作者
林锴
陶传奇
黄志球
-
机构
南京航空航天大学计算机科学与技术学院
南京航空航天大学高安全系统的软件开发与验证技术工信部重点实验室
南京大学计算机软件新技术国家重点实验室
软件新技术与产业化协同创新中心
-
出处
《计算机科学与探索》
CSCD
北大核心
2023年第3期667-677,共11页
-
基金
国家重点研发计划(2018YFB1003900)
国家自然科学基金(61602267,61402229)
+1 种基金
计算机软件新技术国家重点实验室基金(KFKT2018B19)
中央高校基本科研业务费专项资金(NS2019058)。
-
文摘
为了保证软件的健壮性以及系统的可靠性,异常处理被广泛应用于软件开发过程中。开发者们希望选择合适的异常处理代码以防止出现程序崩溃或者内存泄漏等问题。然而开发者,尤其是新手,由于缺乏经验很难编写出正确或规范的异常处理代码。为了协助开发者编写正确的异常处理代码,提出了面向异常处理的代码智能化推荐方法,即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在修复真实的异常漏洞方面也优于现有研究工作。
-
关键词
异常处理
代码推荐
自注意力网络
上下文代码
-
Keywords
exception handling
code recommendation
self-attention network
context code
-
分类号
TP391
[自动化与计算机技术—计算机应用技术]
-