单元测试用于检验软件单一模块的功能是否正确,是软件开发过程中的重要步骤,可以及时发现代码中的缺陷,提升软件的质量和可信度.由于手动编写单元测试费时费力,经常遗漏覆盖重要的代码逻辑.为此,研究者提出单元测试用例自动生成技术.近...单元测试用于检验软件单一模块的功能是否正确,是软件开发过程中的重要步骤,可以及时发现代码中的缺陷,提升软件的质量和可信度.由于手动编写单元测试费时费力,经常遗漏覆盖重要的代码逻辑.为此,研究者提出单元测试用例自动生成技术.近来,预训练大语言模型(large language models,LLM)已经广泛应用于代码生成相关任务.然而,当前在重要的系统级编程语言C上,还没有相关工作.为了填补这一空白,本文面向C程序设计并实现了基于LLM的单元测试用例生成方法LLM4CUTCG.该方法结合LLM多智能体交互和程序分析技术,客服了LLM内在问题.为了验证方法效果,收集了125个C语言目标程序,并针对这些程序生成测试用例.实验结果表明,LLM4CUTCG生成的测试行覆盖率为91.71%,测试预言正确率为50.05%.其覆盖率优于传统方法符号执行.展开更多
整流器作为电能变换功率模块的关键环节,广泛应用于变频器等供电系统设备中,其运行可靠性直接影响整个系统的运行状态。为提高整流器运行可靠性,需针对其中的敏感部件整流二极管进行寿命预测,提出一种由改进后的灰狼优化算法(grey wolf ...整流器作为电能变换功率模块的关键环节,广泛应用于变频器等供电系统设备中,其运行可靠性直接影响整个系统的运行状态。为提高整流器运行可靠性,需针对其中的敏感部件整流二极管进行寿命预测,提出一种由改进后的灰狼优化算法(grey wolf optimization,GWO)优化简单循环单元(simple recurrent unit,SRU)网络超参数的预测模型。首先对二极管进行功率循环加速老化试验,对其特征参数进行分析,选取正向导通压降作为主要老化特征,其次采用改良策略后的GWO对SRU网络的学习率、隐藏层个数、迭代次数等超参数进行寻优,建立组合预测模型,最后将老化试验所得数据输入模型中进行训练以及验证,得到预测结果与其他模型对比。结果表明:本文模型具有更高的准确性,基于数据驱动的预测方法较传统分析建模方法提高了二极管寿命预测精度,进而提高了整流器工作可靠性。展开更多
基于数据驱动的单元测试代码自动化生成技术存在覆盖率低和可读性差的问题,难以应对日益增长的测试需求。大语言模型(LLM)在代码生成任务中显示了极大的潜力,然而由于代码数据的功能风格和编码风格的差异,LLM面临灾难性遗忘和资源受限这...基于数据驱动的单元测试代码自动化生成技术存在覆盖率低和可读性差的问题,难以应对日益增长的测试需求。大语言模型(LLM)在代码生成任务中显示了极大的潜力,然而由于代码数据的功能风格和编码风格的差异,LLM面临灾难性遗忘和资源受限这2个挑战。为了解决这些问题,提出将编码风格和功能风格同步迁移微调的思想,并开发一种高效的LLM微调训练方法用于单元测试用例生成。首先,利用广泛使用的指令数据集对LLM进行指令对齐,并按任务类型对指令集分类;同时,提取并存储具有任务特征的权重增量;其次,设计一个自适应风格提取模块,该模块包含抗噪声干扰学习和编码风格回溯学习,以应对不同的代码编写风格;最后,在目标域分别对功能风格增量和编码风格增量进行联合训练,以实现在目标域低资源情况下的高效适配和微调。在SF110 Corpus of Classes数据集上的测试用例生成实验结果表明,所提方法的结果均优于对比方法,与主流代码生成LLM Codex、Code Llama和DeepSeek-Coder相比,所提方法的编译率分别提高0.8%、43.5%和33.8%、分支覆盖率分别提高3.1%、1.0%和17.2%;行覆盖率分别提高4.1%、6.5%和15.5%,验证了所提方法在代码生成任务上的优越性。展开更多
文摘单元测试用于检验软件单一模块的功能是否正确,是软件开发过程中的重要步骤,可以及时发现代码中的缺陷,提升软件的质量和可信度.由于手动编写单元测试费时费力,经常遗漏覆盖重要的代码逻辑.为此,研究者提出单元测试用例自动生成技术.近来,预训练大语言模型(large language models,LLM)已经广泛应用于代码生成相关任务.然而,当前在重要的系统级编程语言C上,还没有相关工作.为了填补这一空白,本文面向C程序设计并实现了基于LLM的单元测试用例生成方法LLM4CUTCG.该方法结合LLM多智能体交互和程序分析技术,客服了LLM内在问题.为了验证方法效果,收集了125个C语言目标程序,并针对这些程序生成测试用例.实验结果表明,LLM4CUTCG生成的测试行覆盖率为91.71%,测试预言正确率为50.05%.其覆盖率优于传统方法符号执行.
文摘整流器作为电能变换功率模块的关键环节,广泛应用于变频器等供电系统设备中,其运行可靠性直接影响整个系统的运行状态。为提高整流器运行可靠性,需针对其中的敏感部件整流二极管进行寿命预测,提出一种由改进后的灰狼优化算法(grey wolf optimization,GWO)优化简单循环单元(simple recurrent unit,SRU)网络超参数的预测模型。首先对二极管进行功率循环加速老化试验,对其特征参数进行分析,选取正向导通压降作为主要老化特征,其次采用改良策略后的GWO对SRU网络的学习率、隐藏层个数、迭代次数等超参数进行寻优,建立组合预测模型,最后将老化试验所得数据输入模型中进行训练以及验证,得到预测结果与其他模型对比。结果表明:本文模型具有更高的准确性,基于数据驱动的预测方法较传统分析建模方法提高了二极管寿命预测精度,进而提高了整流器工作可靠性。
文摘基于数据驱动的单元测试代码自动化生成技术存在覆盖率低和可读性差的问题,难以应对日益增长的测试需求。大语言模型(LLM)在代码生成任务中显示了极大的潜力,然而由于代码数据的功能风格和编码风格的差异,LLM面临灾难性遗忘和资源受限这2个挑战。为了解决这些问题,提出将编码风格和功能风格同步迁移微调的思想,并开发一种高效的LLM微调训练方法用于单元测试用例生成。首先,利用广泛使用的指令数据集对LLM进行指令对齐,并按任务类型对指令集分类;同时,提取并存储具有任务特征的权重增量;其次,设计一个自适应风格提取模块,该模块包含抗噪声干扰学习和编码风格回溯学习,以应对不同的代码编写风格;最后,在目标域分别对功能风格增量和编码风格增量进行联合训练,以实现在目标域低资源情况下的高效适配和微调。在SF110 Corpus of Classes数据集上的测试用例生成实验结果表明,所提方法的结果均优于对比方法,与主流代码生成LLM Codex、Code Llama和DeepSeek-Coder相比,所提方法的编译率分别提高0.8%、43.5%和33.8%、分支覆盖率分别提高3.1%、1.0%和17.2%;行覆盖率分别提高4.1%、6.5%和15.5%,验证了所提方法在代码生成任务上的优越性。