软件自动化(从需求规约自动生成程序)一直是计算机科学家们的梦想,今天仍然如此。十年前,在大数据热潮的顶峰,报告人曾在NII湘南会议上讨论过类似的话题。当前,在大模型浪潮的推动下,代码生成成为大语言模型很重要的应用领域,也成为很多大语言模型厂商应用落地的首选之一。然而,基于现有的大语言模型技术途径,利用当前人们积累起的软件工程数据,能否实现人们心目中的软件自动化?
版本控制系统如 Git 在并行开发中广泛应用,分支合并冲突已成为常见难题。约 12%的提交涉及冲突,大型项目中的冲突比例高达50%。人工解决冲突耗时费力,自动化方案需求迫切。随着机器学习和深度学习的发展,自动化冲突消解成为可能,现有方法包括推测性合并、行排列和 Token 级别的冲突消解,以及大模型应用等。然而,这些方法忽视了冲突块的上下文。本文提出了基于代码切片上下文的冲突解决方法,使用 ChatGPT 实证了不同上下文类型的作用。
深度神经网络模型越来越多地被部署在智能软件系统中 ,安全 性、可靠性、鲁棒性问题也日益凸显。测试是发现软件错误、保障质 量的关键手段 ,传统软件测试方法及度量指标无法直接被移植到智能 软件系统上 ,如何有效和充分测试智能软件和算法模型成为当前重要 技术挑战。本报告围绕智能无人系统 ,介绍智能软件测试评估指标模 型 ,提出智能算法安全性和鲁棒性测试方法 ,结合地面无人平台目标检测算法介绍案例应用 , 并对智能系统和软件测试验证技术挑战和问题进行探讨和展望。
软件开发过程中会不可避免地引入漏洞,这些漏洞会随着开发过程中的代码复用或代码逻辑复用进行传播,导致软件中存在同源漏洞。开发者在修复漏洞时存在“见一修一”的情况,且由于软件复用多且不规范,导致下游的软件开发者不能及时感知并修复已知漏洞。其结果是攻击者可以在漏洞补丁发布后,基于发布的补丁发现与之同源的漏洞,从而利用新发现的漏洞实施攻击。为了保护软件的安全性,本报告将聚焦如何利用已发布的漏洞补丁提取准确的漏洞和修复语义信息,实现同源漏洞的高效精准发现与修复,并探讨未来的发展方向和趋势。
在软件开发领域,问题定位和缺陷预测一直是备受关注的话题。以往的研究虽然在跨项目缺陷预测技术(CPDP)方面取得了进展,但传统手动特征构建的缺陷预测模型往往忽略了程序内部的语义和结构信息,难以捕捉对程序类别预测至关重要的隐藏特征,导致缺陷预测结果不佳。研究提出使用深度学习自动提取程序的语义特征,并将其与传统特征融合为训练数据,以改进缺陷预测模型。在这篇论文中,研究者提出了一种基于语义特征增强的缺陷预测框架(SFE-DP),通过增加从程序代码中提取的语义特征集合的数据,引入了自注意力机制和匹配层来过滤模型结构中低效和非关键的语义特征。