《4-连小利-需求工程分论坛-细粒度视角下的自然语言软件需求分析-连小利-0525-晚.pdf》由会员分享,可在线阅读,更多相关《4-连小利-需求工程分论坛-细粒度视角下的自然语言软件需求分析-连小利-0525-晚.pdf(40页珍藏版)》请在三个皮匠报告上搜索。
1、中国国际软件质量工程峰会中国国际软件质量工程峰会International Software Quality Engineering Forum细粒度视角下的自然语言软件需求分析细粒度视角下的自然语言软件需求分析北京航空航天大学 连小利2023年5月26日中国国际软件质量工程峰会中国国际软件质量工程峰会International Software Quality Engineering Forum1软件需求描述的三级细化处理 段落描述-需求条目-语义要素2细粒度视角下的软件需求分析 需求间关联关系识别 跨层需求间追踪关系的修正 需求条目间的模糊传播 需求变更影响分析 需求生成CONTENTS目
2、录2021 iSQE 中国国际软件质量工程峰会中国国际软件质量工程峰会International Software Quality Engineering Forum软件需求描述的三级细化处理段落描述-需求条目-语义要素42021 iSQE 研究背景:描述粒度大研究背景:描述粒度大 软件需求的管理要落实到每条需求软件需求的管理要落实到每条需求 与工业合作伙伴合作中发现一个现象与工业合作伙伴合作中发现一个现象 软件需求经常以段落化形式描述软件需求经常以段落化形式描述 一个段落中常包含多个相关需求:描述粒度过大一个段落中常包含多个相关需求:描述粒度过大ISO/IEC/IEEE 29148:2018
3、(E)DO-178C52021 iSQE 研究背景:段落化描述举例研究背景:段落化描述举例Private individuals,private corporations or electrical power companies often onlyown a single wind turbine or a wind turbine cluster.The approach to operationand maintenance is based on remote supervision and monitoring of the windturbine(s)but the amount
4、 of operational data needed and the need for update ofdata is very moderate.The services will typically be based on a requestingsystem(dial-up)connected to the public telephone network.The need foradvanced functions is very modest,as the primary role of the wind turbine(s)isto produce as much electr
5、icity as possible.Normally only one or two parties areengaged in operation and maintenance of the wind turbine(s),typically the ownerand the operation and maintenance organisation,which in some cases is one andthe same.1.owing condition of users2.operation and maintenance way3.advanced function4.par
6、ties on operation and maintenance 62021 iSQE 研究背景:段落化描述举例研究背景:段落化描述举例问题问题1:不同需求间无明显的分割符,理解成本大。不同需求间无明显的分割符,理解成本大。问题问题2:无法进行精细化需求管理:任务划分、对单条需求的追踪、变更影响分析等:无法进行精细化需求管理:任务划分、对单条需求的追踪、变更影响分析等72021 iSQE 需求描述粒度大:解决方案需求描述粒度大:解决方案 两阶段需求条目化方法两阶段需求条目化方法DRIPDRIP 条目分割:综合句子相似度和起承转合关系条目分割:综合句子相似度和起承转合关系 分割优化:基于启发式
7、规则分割优化:基于启发式规则82021 iSQE 需求描述粒度大:解决方案需求描述粒度大:解决方案 两阶段需求条目化方法两阶段需求条目化方法DRIPDRIP 条目分割:综合句子相似度和起承转合关系条目分割:综合句子相似度和起承转合关系 分割优化:基于启发式规则分割优化:基于启发式规则92021 iSQE 实验验证结果实验验证结果2023/5/29结果类型pnnlstewardspuget soundwater useLibrarynlmlibra全部语句93%96%93%92.78%96%90.5%100%只考虑合并语句R.90%90%72.72%75.3%87.5%76%100%P.75%6
8、4.29%53.33%71.43%70%66.67%100%1010个公开需求集个公开需求集102021 iSQE 需求条目的语义要素定义需求条目的语义要素定义ISO/IEC/IEEE 29148:2018(E)EARS the shall The shall.When the shall.If ,then the shall.While the shall.Where the shall.特定模板的组合112021 iSQE 需求条目的语义要素提取需求条目的语义要素提取 对需求条目进行结构化处理便于机器自动处理对需求条目进行结构化处理便于机器自动处理 减少误判减少误判R1:当获得仿真试验数据
9、后,评估模型执行功能能够按照评估:当获得仿真试验数据后,评估模型执行功能能够按照评估模型中制定的评估流程,逐步执行计算模型和分析模型过程,模型中制定的评估流程,逐步执行计算模型和分析模型过程,最终生成最终生成AHP评估模型的评估结果。评估模型的评估结果。R2:评估报告生成功能能够对:评估报告生成功能能够对AHP评估模型的评估结果以评估模型的评估结果以柱状柱状图、曲线图、仪表图图、曲线图、仪表图等多种常见的图形输出到文档中。等多种常见的图形输出到文档中。需求间关联不一定传播变更追踪关系构建追踪关系构建122021 iSQE 需求条目的语义要素提取需求条目的语义要素提取2023/5/29需求描述结
10、构化定义需求描述结构化定义细粒度的需求描述模型:(触发事件、执行者、动作、输入、输出、约束)(event,agent,operation,input,output,restriction)If a route contains a specific UAV_ID,the _SingleUAVFlightPlanScheduler_ shall assign the route to the given UAV.触发事件执行者动作输出输入132021 iSQE 需求条目的语义要素定义需求条目的语义要素定义性能需求性能指标统计类型比较符数值单位可靠性需求可靠性指标比较符持续时间比较符概率功能需求触
11、发事件执行者操作输入输出约束当获得仿真试验数据后,评估模型执行功能按照评估模型中制定的评估流程,逐步执行计算模型和分析模型过程,最终生成AHP评估模型的评估结果。触发事件执行者约束输出操作142021 iSQE 我们的结构化方法我们的结构化方法结构化算法流程152021 iSQE 需求条目的语义要素识别:实验需求条目的语义要素识别:实验 四个公开数据集四个公开数据集需求集名称需求集名称包含需求条数包含需求条数说明说明UAV99描述了一个无人机控制系统的功能GANNT93描述了一个基于语义关系图进行自然语言需求内容知识提取的自动化系统的功能PURE136描述了欧洲列车控制系统的功能WORLDVI
12、STA347描述了一个由美国退伍军人事务部开发的电子健康记录和健康信息系统的各项功162021 iSQE 2023/5/29需求条目的语义要素识别:实验需求条目的语义要素识别:实验需求集名称需求集名称UAVGANNTPUREWORLDVISTA需求集总数需求集总数9993136347整体识别准确需求数整体识别准确需求数8378116286算法准确率算法准确率83.84%83.87%85.29%82.42%各元组识别准确率各元组识别准确率执行者执行者100%94.52%95.95%99.71%动作动作100%94.62%99.26%99.71%输入输入91.11%92.59%89.57%90.8
13、6%输出输出88.73%91.14%87.13%89.77%约束约束100%100%100%99.64%触发事件触发事件89.36%88.89%92.68%96.15%各元组识别平均准确率各元组识别平均准确率94.87%93.63%94.10%95.97%172021 iSQE 需求描述的三级语义细化:条目的语义要素识别需求描述的三级语义细化:条目的语义要素识别 自动识别自动识别需求的需求的细粒度语义要素细粒度语义要素 按照定义的规范,按照定义的规范,自动重写自动重写需求描述需求描述182021 iSQE 细粒度视角下的软件需求分析 需求间关联关系识别 跨层需求间追踪关系的修正 需求条目间的模
14、糊传播 需求变更影响分析 需求生成192021 iSQE 2023/5/29自然语言需求的细粒度语义分析(自然语言需求语句-结构化细粒度语义要素)需求关联关系识别跨层需求追踪识别需求变更影响分析需求模糊影响分析需求功能实体识别需求描述自动生成202021 iSQE 应用一:基于需求细粒度语义分析的需求关联关系识别应用一:基于需求细粒度语义分析的需求关联关系识别问题一:现有需求关联分析粒度粗、变更影响范围大。需求关联关系仅有依赖等少数类型,且多依赖手工创建;有关联即认为传播变更,导致影响范围不准。R1:当获得仿真试验数据后,评估模型执行功能能够按照:当获得仿真试验数据后,评估模型执行功能能够按照
15、评估模型中制定的评估流程,逐步执行计算模型和分析模评估模型中制定的评估流程,逐步执行计算模型和分析模型过程,最终生成型过程,最终生成AHP评估模型的评估结果。评估模型的评估结果。R2:评估报告生成功能能够对:评估报告生成功能能够对AHP评估模型的评估结果以评估模型的评估结果以柱状图、曲线图、仪表图柱状图、曲线图、仪表图等多种常见的图形输出到文档中。等多种常见的图形输出到文档中。需求间关联不一定传播变更212021 iSQE 问题二:现有需求关联关系识别方法可扩展性弱,相关工具自动化程度低。现有的需求管理工具仅支持一部分关联类型。不允许用户定制待识别的需求关联关系类型。应用一:基于需求细粒度语义
16、分析的需求关联关系识别应用一:基于需求细粒度语义分析的需求关联关系识别222021 iSQE 需求间关联关系 需求间冲突关系多样表达 需求类型可扩展 关联类型可扩展动态扩展应用一:基于需求细粒度语义分析的需求关联关系识别应用一:基于需求细粒度语义分析的需求关联关系识别232021 iSQE 我们的方案我们的方案定义描述语言定义描述语言支持用户自定义支持用户自定义需求语义要素元模型需求语义要素元模型+需求间关系识别规则需求间关系识别规则关系识别器关系识别器能够自动地能够自动地解析用户输入的定义解析用户输入的定义+根据定义识别需求间的关系根据定义识别需求间的关系需求关系识别依靠需求关系识别依靠 需
17、求要素元模型需求要素元模型 和和 关系识别规则关系识别规则可扩展性:可扩展性:模型模型和和规则规则思路思路方法方法242021 iSQE 描述语言设计描述语言设计252021 iSQE 应用场景应用场景262021 iSQE 将描述语言的文档将描述语言的文档动态转化动态转化为可执行模块为可执行模块关系识别规则要素描述文档272021 iSQE 实验设计实验设计目标:验证正确性目标:验证正确性需求要素元模型:单一类型单一类型(功能需求)关系识别规则:同类需求之间同类需求之间的关系目标:验证正确性目标:验证正确性+可扩展性可扩展性需求要素元模型:单一需求类型-多种类型多种类型关系识别规则:同类需求
18、间 不同类型间不同类型间目标:验证正确性目标:验证正确性+可扩展性可扩展性使用需求研究领域的业界成果业界成果进行验证使用描述语言表达他人的研究成果他人的研究成果实验一实验一实验二实验二实验三实验三扩展现有研究成果业界他人研究成果292021 iSQE 工具:需求关联关系展示界面工具:需求关联关系展示界面2023/5/29302021 iSQE 工具:变更影响分析界面工具:变更影响分析界面2023/5/29312021 iSQE 应用二:需求模糊传播影响分析应用二:需求模糊传播影响分析R1:A system may be able to modify the description file.R
19、2:B subsystem shall create detailed structure file based on the description file.交互关系交互关系模糊传播模糊传播输出输入存在模糊322021 iSQE 2023/5/29应用二:需求模糊传播影响分析应用二:需求模糊传播影响分析模糊词检测模糊范围检测This model aims at establishing open systems operation and implies standards-based implementation.This model aims at establishing open
20、systems operation and implies standards-based implementation.This model aims at establishing open systems operation and implies standards-based implementation.单条需求的模糊检测根据语义角色确定在需求间传播范围332021 iSQE 前提前提-依赖依赖 若:R1是R2的前提 则:当R1的操作中检测到模糊性时,该模糊传播到R2中交互交互 若:R2的输出是R1的输入 则:当R2的输出中检测到模糊性时,该模糊传播到R1中模糊传播规则模糊传播规则
21、应用二:需求模糊传播影响分析应用二:需求模糊传播影响分析342021 iSQE 应用二:软件需求的模糊检测原型工具应用二:软件需求的模糊检测原型工具 给出需求描述中的给出需求描述中的模糊词与模糊范围模糊词与模糊范围,并以颜色区分,并以颜色区分 给出给出模糊在需求间的传播模糊在需求间的传播范围范围352021 iSQE 应用三:需求功能实体提取应用三:需求功能实体提取需求功能实体需求功能实体 软件系统的功能对象,即软件系统要实现或增强的范围和功能。与功能有关的名词或名词词组。用于基于需求的成本估算、需求完整性检测等工作中2023/5/29示例:在上海市交通管理系统中,需要通过对车辆颜色、车型特征
22、进行识别,来提供车辆分类功能、车辆计数功能。领域模型:关注“概念”、“专业术语”上海市交通管理系统、车辆颜色、车型特征、车辆分类功能、车辆计数功能需求功能实体模型:关注“功能对象”车辆分类功能、车辆计数功能362021 iSQE 应用三:基于细粒度语义要素的需求功能实体提取应用三:基于细粒度语义要素的需求功能实体提取需求功能实体与需求结构化元组之间存在关联(主体、输入、输出)需求功能实体与需求结构化元组之间存在关联(主体、输入、输出)2023/5/29获取通用知识阶段注入结构化信息阶段主动学习阶段11MLPagent input output CRFBERT捕捉结构化信息通过embedding
23、层得到连续向量、级联向量通过MLP计算每个单词的概率=,输入到CRF层中372021 iSQE 应用三:基于细粒度语义要素的需求功能实体提取应用三:基于细粒度语义要素的需求功能实体提取在在1111个公开数据集上证明结构化信息的加入能显著提高需求功个公开数据集上证明结构化信息的加入能显著提高需求功能实体的识别效果能实体的识别效果2023/5/29训练模式PrecisionRecallF1RFEEAMLP0.44720.52140.4815RFEEA0.71630.69780.7069382021 iSQE 目前大热的代码自动生成工作目前大热的代码自动生成工作提示文本提示文本promptpromp
24、t也是一种需求!也是一种需求!2023/5/29392021 iSQE 2023/5/29当前代码自动生成工作尚不完美:当前代码自动生成工作尚不完美:到底有什么问题呢?到底有什么问题呢?研究成果复现研究成果复现数据标注与分析数据标注与分析特征提取特征提取实验验证实验验证 生成方法复现 Metrics评估 一致性分析 生成质量评估 数据集分层 人工标注 主题分析 迭代讨论分析 数据集直接验证 统计检验 多数据集综合观察402021 iSQE 发现发现频数最高的问题:频数最高的问题:PromptPrompt中关键语义信息未被捕捉到(中关键语义信息未被捕捉到(41.10%41.10%)不精确的需求描
25、述(不精确的需求描述(31.3%31.3%)语义不完整 模糊 Prompt与标准答案不一致PromptPrompt太复杂太复杂(17.14%17.14%)2023/5/29Prompt:Concatenate elements of list b by a colon:Answer:.join(str(x)for x in b)CodeT5:x for x in b if x.startswith(:)UnixCoder:b=b.split(:,1)1 CodeRL:b.append(:)Thank you Thank you 中国国际软件质量工程峰会中国国际软件质量工程峰会International Software Quality Engineering Forum