首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种基于深度学习的工业软件故障报告判别方法_大连理工大学_202410537360.9 

申请/专利权人:大连理工大学

申请日:2024-04-30

公开(公告)日:2024-06-21

公开(公告)号:CN118228116A

主分类号:G06F18/241

分类号:G06F18/241;G06F18/10;G06N20/00

优先权:

专利状态码:在审-公开

法律状态:2024.06.21#公开

摘要:本发明属于软件测试技术领域,涉及一种用于提高软件故障报告处理效率的技术,具体为一种基于深度学习的工业软件故障报告判别方法,包括:按照关键词筛选收集GitHub上指定项目的故障报告、对导出的数据集进行预处理、数据扩充、数据清洗、模型训练和故障报告预测。本发明可用于不同工业软件项目的故障报告类型判别如开源项目Kratos、Dealii等;亦可根据特定软件项目的标准故障报告信息内容,对本发明的相关步骤进行适配,从而对该特定软件项目的故障报告进行判别分类。

主权项:1.一种基于深度学习的工业软件故障报告判别方法,其特征在于,包括如下步骤:步骤1:按照关键词筛选收集GitHub上指定项目的故障报告通过关键字筛选法,使用GitHub提供的项目仓库API收集状态为关闭的故障报告,这些故障报告在标题或是标签中出现需要检索的关键字;然后使用代码将提取的数据以结构化格式存储并导出至CSV文件;步骤2:对导出的数据集进行预处理首先对步骤1收集到的故障报告进行标记与分类,统一修改每条数据的标记名,标记名包括错误类别名、症状名和标签名;经过初步分类后判断是否为非程序错误并做出标记,继续提取故障报告内容中的日志信息,确定项目的标准日志输出格式;使用正则表达式并按照确定的标准日志格式进行数据清洗,最后获得每条故障报告中标准日志信息,并使用JSON文件操作模块将筛选后的数据输出为JSON文件;步骤3:数据扩充对步骤2中得到的JSON文件进行数据扩充,数据扩充目标:根据提取出的日志信息中的文件名以及提示的错误的函数名,获取对应函数的具体实现以及注释;将数据集中涉及的所有项目源文件从GitHub克隆到本地,通过编程获取文件路径和扩展名,然后遍历项目目录中的文件以查找指定源文件,判断查找的目标源文件是否存在,若不存在则跳过此条数据继续往下检索,若存在则使用正则表达式解析项目源代码,从中提取注释、函数名和函数实现扩充写入进JSON文件;步骤4:数据清洗对步骤3中获取的数据扩充文件进行数据清洗,输出为模型训练的输入数据集;预定义一个停用词表;使用正则表达式或其他字符串处理技术,去除文本中的特殊符号,包括标点符号、括号、引号;将经过清洗的数据输出为csv文件并分为两列,存储数据列和标签信息列;步骤5:模型训练a:选用预训练好的开源BERT-BASE-UNCASED模型进行微调,具体为:首先模型微调构建,在BERT的顶部添加两个线性层,用于分类目的,并设置dropout=0.1和ReLU作为激活函数;使用步骤4中输出的数据集,通过与预训练模型对应的分词器,使用encode_plus方法将文本数据编码成模型能接受的输入格式,并将编码后的数据以字典形式返回,其中包括tokenIDs、attentionmask和tokentypeIDs以及对应判断标签;b:选用K折训练法,将数据集分成K个大小相等的子集;对于每个子集,将其作为验证集,其余K-1个子集作为训练集,训练模型并在验证集上评估性能,重复上述步骤K次并计算K次验证结果的平均值作为最终评估结果;进行模型微调训练并保存,同时输出模型训练日志;步骤6:故障报告预测使用步骤5中微调好的BERT-BASE-UNCASED模型进行故障报告的分类预测,输入新获取的故障报告中的信息,模型输出对该报告是否为一个真正的错误的预测,预测结果为Y或者N。

全文数据:

权利要求:

百度查询: 大连理工大学 一种基于深度学习的工业软件故障报告判别方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。