咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >软件缺陷预测与代码克隆检测的可视化研究 收藏
软件缺陷预测与代码克隆检测的可视化研究

软件缺陷预测与代码克隆检测的可视化研究

作     者:肖英剑 

作者单位:江西师范大学 

学位级别:硕士

导师姓名:揭安全;李宏伟

授予年度:2023年

学科分类:08[工学] 0839[工学-网络空间安全] 0835[工学-软件工程] 081201[工学-计算机系统结构] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

主      题:代码可视化 软件缺陷预测 代码克隆检测 智能软件工程 

摘      要:随着软件规模和复杂度不断增加,开发人员需要花费大量时间来理解项目源代码,特别是对于不熟悉的项目,使用代码编辑器浏览代码是一项困难且乏味的任务。尽管在软件测试和维护阶段,测试人员通过手动测试和代码审查等方式花费了大量时间和精力检查缺陷,但软件中仍可能存在缺陷。此外,开发人员经常复制、粘贴和修改代码以提高效率和节省开发时间,但这也导致大量代码克隆的存在,进而导致代码冗余、降低软件维护性和代码质量下降等问题。为了更好理解代码,在项目中定位和展示可能的代码缺陷和代码克隆,本文基于程序分析、深度学习技术和可视化技术等,提出了自动检测软件缺陷和代码克隆,并将其与代码结构相结合进行可视化展示。通过这种方式,可以提高软件开发和维护的自动化水平,降低成本,并提高软件质量和生产效率。本文的主要贡献包括:1)利用代码可视化增强代码理解。运用虚拟现实技术构建一个方法级别的代码可视化工具Java City,将软件项目可视化为一座虚拟交互城市来支持代码理解活动。实验证明,Java City可以在视觉上帮助开发人员更快速、更全面、更有趣的分析和理解源代码。2)自动预测缺陷代码并将缺陷代码可视化。提出了文件级别和代码行级别两种粒度的软件缺陷预测模型GC-HAN,基于图卷积神经网络和层次注意力网络自动学习源代码中的结构和语义信息,预测缺陷代码并将缺陷代码可视化。实验证明,该模型在文件级别缺陷预测中,Balanced Accuracy提升了3%;在代码行缺陷预测中,Recall@Top20%LOC提升了79%,Effort@Top20%Recal和IFA分别降低了15%和22%。3)自动检测克隆代码并将克隆可视化。提出了一种将代码克隆和代码结构结合的克隆可视化方法,并构建了一个克隆可视化工具Clone Java City(CJC)。实验证明,Clone Java City可以更容易,更准确,更有趣的理解和分析克隆信息。

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分