一种基于大语言模型赋能的编译器缺陷定位方法技术

技术编号:40238081 阅读:30 留言:0更新日期:2024-02-02 22:37
本发明专利技术属于传统软件工程的编译器软件质量保障领域,提出一种基于大语言模型赋能的编译器缺陷定位方法,可用于自动定位编译器中的缺陷。该方法首先设计了一种能准确表示所需突变操作的精确提示模式,并对测试程序进行静态分析得出最复杂的变量列表和语句位置以填充提示模版;之后利用强化学习结合记忆搜索不断优化缺陷特定提示选择方案;最后使用静态分析方法检测和过滤潜在无效测试程序,最终得到可疑文件列表作为编译器缺陷定位结果。本发明专利技术显著提高了测试用例自动化生成的效率,增加了生成的测试程序的多样性,提高了检测和定位编译器缺陷的效率,使用简便,可扩展性强,人力成本低。

【技术实现步骤摘要】

本专利技术属于传统软件工程的编译器软件质量保障领域,尤其涉及一种基于大语言模型赋能的编译器缺陷定位方法,可用于自动定位编译器中的缺陷。


技术介绍

1、在现代软件工程中,编译器的质量对所构建软件系统的可靠性至关重要。编译器在软件开发流程中的关键位置意味着其缺陷可能会进一步引入未知的软件缺陷,加大开发和维护难度,浪费大量的人力物力或引入重大安全隐患。因此,为了保证软件质量,如何及时、有效地定位编译器中存在的缺陷是一个非常关键的问题。由于编译器自身提供的缺陷调试信息有限,目前解决该问题的一个常见思路是将测试定位问题转换为测试程序突变问题,其核心思想是生成已有的可以触发编译器缺陷的测试程序的突变体,使其无法触发编译器缺陷,并分别收集突变前后测试程序在编译器源代码上的覆盖率(即频谱),最后利用基于频谱的故障定位(sbfl)技术得到可疑文件排名结果。

2、然而,现有最先进的自动化方法,例如diwi和recbi,仍然存在一些局限性,例如diwi仅支持通过更改变量的类型来进行测试程序突变,而recbi尽管能够提供改变程序控制流等更多突变策略,却只能合成语句条件本文档来自技高网...

【技术保护点】

1.一种基于大语言模型赋能的编译器缺陷定位方法,其特征在于,具体步骤如下:

2.根据权利要求1所述的一种基于大语言模型赋能的编译器缺陷定位方法,其特征在于,步骤(1)具体包括以下步骤:

3.根据权利要求1所述的一种基于大语言模型赋能的编译器缺陷定位方法,其特征在于,步骤(2)具体包括如下步骤:

4.根据权利要求1所述的一种基于大语言模型赋能的编译器缺陷定位方法,其特征在于,步骤(3)具体包括以下步骤:

【技术特征摘要】

1.一种基于大语言模型赋能的编译器缺陷定位方法,其特征在于,具体步骤如下:

2.根据权利要求1所述的一种基于大语言模型赋能的编译器缺陷定位方法,其特征在于,步骤(1)具体包括以下步骤:

3.根据权...

【专利技术属性】
技术研发人员:江贺涂浩新高越林浩周志德任志磊
申请(专利权)人:大连理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1