编者寄语

随着软件代码规模和内部关系复杂性的不断提升,软件测试与维护作为保障软件质量和系统稳定性的关键环节,面临着越来越多的挑战。传统测试方法在效率、覆盖率和应对快速迭代方面存在一定瓶颈,而维护工作则需要应对遗留代码庞杂、需求频繁变更、环境快速演进等多重问题。因此,探索更高效、智能的测试与维护技术,已成为软件工程发展的重要方向。

近年来,人工智能特别是生成式人工智能(AIGC)和大语言模型(LLM)的兴起,为软件测试与维护注入了新的活力。AIGC技术能够辅助生成测试用例、自动分析日志、识别异常行为、智能修复代码等,显著提高测试自动化水平和维护响应效率。同时,基于自然语言理解的LLM工具,正在推动从测试文档生成到故障定位的全流程智能化变革。

本期专题聚焦软件测试与维护领域,围绕如何融合AIGC技术与传统测试维护流程,提出具有前瞻性与实用性的创新方法、解决方案与典型案例,旨在为研究人员和工程实践者提供新视角,助力构建更加智能、高效、可靠的软件系统。


编委主任:苏金树 CCF会士 军事科学院教授

本期主编:王   璐  CCF软件工程专委会副秘书长 西安电子科技大学副教授


大语言模型能否带来软件自动化的新机遇

软件自动化(从需求规约自动生成程序)一直是计算机科学家们的梦想,今天仍然如此。十年前,在大数据热潮的顶峰,报告人曾在NII湘南会议上讨论过类似的话题。当前,在大模型浪潮的推动下,代码生成成为大语言模型很重要的应用领域,也成为很多大语言模型厂商应用落地的首选之一。然而,基于现有的大语言模型技术途径,利用当前人们积累起的软件工程数据,能否实现人们心目中的软件自动化?

格式:
视频
自动代码合并冲突消解中基于代码切片上下文的作用实证

版本控制系统如 Git 在并行开发中广泛应用,分支合并冲突已成为常见难题。约 12%的提交涉及冲突,大型项目中的冲突比例高达50%。人工解决冲突耗时费力,自动化方案需求迫切。随着机器学习和深度学习的发展,自动化冲突消解成为可能,现有方法包括推测性合并、行排列和 Token 级别的冲突消解,以及大模型应用等。然而,这些方法忽视了冲突块的上下文。本文提出了基于代码切片上下文的冲突解决方法,使用 ChatGPT 实证了不同上下文类型的作用。

格式:
视频
智能软件和算法测试验证技术和实践

深度神经网络模型越来越多地被部署在智能软件系统中 ,安全 性、可靠性、鲁棒性问题也日益凸显。测试是发现软件错误、保障质 量的关键手段 ,传统软件测试方法及度量指标无法直接被移植到智能 软件系统上 ,如何有效和充分测试智能软件和算法模型成为当前重要 技术挑战。本报告围绕智能无人系统 ,介绍智能软件测试评估指标模 型 ,提出智能算法安全性和鲁棒性测试方法 ,结合地面无人平台目标检测算法介绍案例应用 , 并对智能系统和软件测试验证技术挑战和问题进行探讨和展望。

格式:
视频
软件供应链中的同源漏洞发现与修复

软件开发过程中会不可避免地引入漏洞,这些漏洞会随着开发过程中的代码复用或代码逻辑复用进行传播,导致软件中存在同源漏洞。开发者在修复漏洞时存在“见一修一”的情况,且由于软件复用多且不规范,导致下游的软件开发者不能及时感知并修复已知漏洞。其结果是攻击者可以在漏洞补丁发布后,基于发布的补丁发现与之同源的漏洞,从而利用新发现的漏洞实施攻击。为了保护软件的安全性,本报告将聚焦如何利用已发布的漏洞补丁提取准确的漏洞和修复语义信息,实现同源漏洞的高效精准发现与修复,并探讨未来的发展方向和趋势。

格式:
视频
一种新的基于语义特征增强的缺陷预测方法

在软件开发领域,问题定位和缺陷预测一直是备受关注的话题。以往的研究虽然在跨项目缺陷预测技术(CPDP)方面取得了进展,但传统手动特征构建的缺陷预测模型往往忽略了程序内部的语义和结构信息,难以捕捉对程序类别预测至关重要的隐藏特征,导致缺陷预测结果不佳。研究提出使用深度学习自动提取程序的语义特征,并将其与传统特征融合为训练数据,以改进缺陷预测模型。在这篇论文中,研究者提出了一种基于语义特征增强的缺陷预测框架(SFE-DP),通过增加从程序代码中提取的语义特征集合的数据,引入了自注意力机制和匹配层来过滤模型结构中低效和非关键的语义特征。

格式:
视频

本期编委成员