[发明专利]程序数据流诊断方法、装置及设备有效
申请号: | 202211330722.4 | 申请日: | 2022-10-28 |
公开(公告)号: | CN115391232B | 公开(公告)日: | 2023-04-11 |
发明(设计)人: | 李锐喆;赵彤 | 申请(专利权)人: | 北京卡普拉科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京聿宏知识产权代理有限公司 11372 | 代理人: | 郑哲琦;吴昊 |
地址: | 100001 北京市大兴区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 数据流 诊断 方法 装置 设备 | ||
本发明实施例提供一种程序数据流诊断方法、装置及设备,该方法包括:响应于应用程序中的诊断请求,从诊断请求中获取诊断请求的诊断模态、诊断目标数据区域、数据诊断方式和程序定位标记;根据数据诊断方式对诊断目标数据区域中的数据进行诊断计算;将对诊断目标数据区域中的数据进行诊断计算的结果与程序定位标记进行结合,得到诊断结果;根据诊断模态输出诊断结果。实现了对应用程序的诊断,根据输出的诊断结果可以对应用程序中隐含的错误进行准确定位。
技术领域
本发明实施例涉及软件测试技术领域,具体涉及一种程序数据流诊断方法、装置及设备。
背景技术
软件程序中难免会存在错误(bug),存在错误的软件程序容易出现以下错误现象:1)程序运行因段错误等的出现而被中断;2)程序运行虽然正常结束,但是却产生了不合理的部分输出结果。软件程序中的错误可能会导致意想不到的不良后果,以定位并解决软件程序中的错误为核心目标的软件测试是软件工程中不可或缺的关键步骤,对于提高软件的质量和可靠性具有重要意义。
目前很多大公司都十分重视软件测试,通过建立测试标准体系,对编译器进行改进并开发大量的测试工具,来对软件程序中的错误进行检测。虽然现代编译器和一些测试工具(如Valgrind等)能够提供一定的检测功能,但是随着软件程序复杂性的不断提高和程序代码量的快速增加,软件程序中隐含的错误不断增多,准确定位错误的难度和工作量不断提升,这就导致软件程序中有很大一部分错误难以通过现有手段定位出来。
发明内容
本发明实施例提供一种程序数据流诊断方法、装置及设备,用于对软件程序进行诊断,以便对其中隐含的错误进行准确定位。
第一方面,本发明实施例提供程序数据流诊断方法,包括:
响应于应用程序中的诊断请求,从诊断请求中获取诊断请求的诊断模态、诊断目标数据区域、数据诊断方式和程序定位标记;
根据数据诊断方式对诊断目标数据区域中的数据进行诊断计算;
将对诊断目标数据区域中的数据进行诊断计算的结果与程序定位标记进行结合,得到诊断结果;
根据诊断模态输出诊断结果。
一种实施例中,诊断模态包括参照数据流生成模态和数据流一致性检测模态,其中,在参照数据流生成模态下,将诊断结果输出到参照诊断日志文件;在数据流一致性检测模态下,从对应的参照诊断日志文件中获取参照诊断结果,如果当前诊断结果与参照诊断结果不同,输出程序错误警告。
一种实施例中,数据诊断方式包括以下至少一种:关键位置数据值追踪、区域数据值追踪、数据值有效范围诊断和异常值甄别。
一种实施例中,当应用程序为并行程序、诊断请求的诊断模态为参照数据流生成模态、诊断请求的数据诊断方式为关键位置数据值追踪时,所述方法包括:
响应于在第一并行设置下运行应用程序时的当前诊断请求,从当前诊断请求获取若干特定位置的数组索引,从当前诊断请求的诊断目标数据区域获取各特定位置数组索引对应的数据值,进行诊断计算,结合程序定位标记,得到诊断结果,将诊断结果写入各进程或线程所对应的诊断日志文件中,得到第一组诊断日志文件;
响应于在第二并行设置下运行应用程序时的当前诊断请求,从当前诊断请求获取若干特定位置的数组索引,从当前诊断请求的诊断目标数据区域获取各特定位置数组索引对应的数据值,进行诊断计算,结合程序定位标记,得到诊断结果,将诊断结果写入各进程或线程所对应的诊断日志文件中,得到第二组诊断日志文件;
根据第一组诊断日志文件和第二组诊断日志文件确定在第一并行设置和第二并行设置下运行结果不同的程序位置。
一种实施例中,当诊断请求的数据诊断方式为区域数据值追踪时,所述方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京卡普拉科技有限公司,未经北京卡普拉科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211330722.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:区域供电量调整方法、装置、电子设备、介质
- 下一篇:一种连接装置及充电枪