当前位置:首页 > 报告详情

陈振宇-大模型赋能软件工程的学与评.pdf

上传人: Fl****zo 编号:719109 2025-06-22 27页 4.53MB

1、大模型赋能软件工程的学与评以软件测试为例陈振宇南京大学智能软件工程实验室新质软件工程人才培养 从自动化到智能化大模型带来的机遇与挑战 本次报告的智能化不限于大模型 不严格区分大模型和预训练模型 智能化对于自动化强调学习能力 新质生产力是创新起主导作用,摆脱传统经济增长方式、生产力发展路径,具有高科技、高效能、高质量特征,符合新发展理念的、先进生产力质态。它由技术革命性突破、生产要素创新性配置、产业深度转型升级而催生。以劳动者、劳动资料、劳动对象及其优化组合的跃升为基本内涵。创新能力的培养 跨学科知识学习 实践能力的提升 持续学习的习惯软件工程软件需求软件设计软件构造软件测试LLM for So

2、ftware EngineeringSearch&queryingCommunity Code&documents Complexity Conformity Changeability InvisibilityHow LLMs are changing the landscape of software engineering?requirement,design,coding,testing,maintenanceNo silver bullet?微观的流畅宏观的限制结果的随机创造的缺失工程的复兴A Survey on Large Language Models for Software

3、Engineering.ArXiv软件自动化:从萌芽到爆发 程序自动生成:给定S自动生成P:使得S=P。在工程上表现为S(T)=P(T)。测试自动生成:给定S和P自动生成T:验证S(T)=P(T)。LLM推动新质软件工程发展需求设计编码测试软件测试需求派生SPT给定规格S和测试集T,生成程序P,使得P(T)=S(T)代码生成的可行定义给定规格S和程序P,修复程序O(P)=S代码修复的理想定义给定规格S,程序P和测试集T,修复程序O(P)(T)=S(T)代码修复的可行定义需求驱动测试驱动给定规格S,生成程序P,使得P=S代码生成的理想定义代码生成可看作修复的零启动特例代码审查测试验证T的充分性人

4、员经验双向驱动领域知识复用零启动低成本人机协同:代码搜索与模版构建大模型发展推动需求驱动代码生成与修复全流程测试演化提高测试充分性大模型时代的学与评评价的目的不是为了证明,而是为了改进。-拉尔夫泰勒(Ralph Tyler)大模型时代的学与评大模型时代的学大模型时代的评学习使用大模型完成任务采用大模型进行辅助学习采用大模型进行学习评价基于大模型的软件工程评价文档代码图像基于大模型的软件工程评价客观评估内容 测试用例设计 用例数量统计 测试覆盖率 场景覆盖度量 测试代码编写 代码规范性 执行成功率 自动化覆盖率主观评估内容 测试用例设计 设计思路合理性 用例优先级安排 测试用例充分性 测试报告撰

5、写 问题描述准确性 分析深度 改进建议价值基于大模型的软件工程评价RUM=Rule+LLM RUM:结合规则引擎和大语言模型的混合评估方法预处理评估标准构建双引擎评估预处理:将测试用例、测试代码、测试报告等测试产物转换为结构化数据;评估标准构建:基于评估标准分别生成主客观评估规则;双引擎评估:使用规则引擎进行客观评估,使用基于大模型的评估引擎进行主观评估。基于大模型的软件工程评价在全国大学生软件测试大赛中,我们使用 RUM 方法对参赛选手的测试产物进行评估,并 取得了较好的效果,得到了在场评委的一致认可。规则引擎评估客观指标:代码规范性、测试覆盖率等LLM 评估主观内容:测试策略合理性、问题描

6、述准确性等基于大模型的软件工程评价基于大模型的软件工程评价基于大模型的软件工程评价基于大模型的软件工程评价实验结果概括:同人工手工评价相比,评估效率提升了80.77%;同人工手工评价相比,评估成本降低了97.38%;在多个指标上同人工的一致性超过85%。软件测试基础回顾规格S程序P测试T理想:S=P工程:S(T)=P(T)测试生成问题测试预言问题测试终止问题基于大模型的XUnit测试脚本生成基于大模型的XUnit测试脚本生成基于大模型的XUnit测试脚本生成基于大模型的XUnit测试脚本生成 TestAgent 共生成了 5597 条运行失败的测试用例。

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要探讨了大型语言模型(LLM)在软件工程中的应用,特别是在软件测试方面的应用。以下是关键点的分条概括: 1. **大模型赋能软件工程**:文章强调了智能化,特别是大模型,对于提升软件工程的学习能力和创新力的作用,以及它们在推动新质软件工程人才培养中的机遇与挑战。 2. **全流程测试演化**:大模型被用于需求驱动代码生成与修复,以及全流程测试,以提高测试充分性。 3. **评估方法**:提出了结合规则引擎和LLM的混合评估方法(RUM),在软件测试大赛中提高了评估效率和一致性,与人工评价相比,效率提升了80.77%,成本降低了97.38%,一致性超过85%。 4. **测试脚本生成**:基于大模型的XUnit和Selenium测试脚本生成显著提高了测试用例的准确率和修复通过率,其中,Selenium测试脚本的修复通过率高达86.3%,优于市面其他大模型。 5. **效率与效益**:系统生成和执行测试用例的效率高,显著优于人工,且各个模块对生成测试用例均具有正向效益。 6. **未来展望**:文章展望了大模型在软件定义世界质量保障方面的应用,强调了学习与评价的重要性。 核心数据引用:评估效率提升80.77%,成本降低97.38%,测试用例准确率超过80%,修复通过率高达86.3%。
"软件工程如何智能化?" "大模型时代的学习变革?" "AI如何提升软件测试效率?"
客服
商务合作
小程序
服务号
折叠