【技术实现步骤摘要】
本公开涉及使用mcdc方法的代码分析设备和代码分析方法。
技术介绍
1、当今的车辆包含大约1亿行的软件代码,并且到2030年可以预期具有大约3亿行的代码。对于诸如自主驾驶的系统,源代码测试变得更加复杂。iso 26262要求诸如语句覆盖率/分支覆盖率/mcdc覆盖率的交通工具/航空航天软件测试方法,以提高软件质量。
2、测试用例可被用于测试这样的源代码,但是如果测试用例的数量很大,则源代码分析可能被延迟。
3、在本公开的此
技术介绍
部分中公开的信息仅用于增强对本公开的一般背景的理解,并且可不被视为承认或以任何形式建议该信息形成本领域技术人员已知的相关技术。
技术实现思路
1、本公开的各个方面指向在源代码分析设备中提供生成满足源代码覆盖率的多个测试用例的代码分析设备以及代码分析方法。
2、本公开的一方面中的代码分析方法由处理器执行,并且该方法包括:将源代码所指示的表达式转换成布尔表达式,该表达式包括n个条件;基于布尔表达式生成包括多个节点的二叉表达式树;通过
...【技术保护点】
1.一种由处理器执行的代码分析方法,所述方法包括:
2.根据权利要求1所述的代码分析方法,其中,所述多个有效情况包括:
3.根据权利要求2所述的代码分析方法,其中,生成所述二叉表达式树包括生成节点数据,所述节点数据包括与所述多个节点中的每个节点相对应的名称、两个子节点的信息、布尔值、翻转极限、以及翻转次数。
4.根据权利要求3所述的代码分析方法,其中,初始化所述多个节点中的每个节点的翻转极限和翻转次数包括:
5.根据权利要求4所述的代码分析方法,
6.根据权利要求5所述的代码分析方法,还包括:
7
...【技术特征摘要】
1.一种由处理器执行的代码分析方法,所述方法包括:
2.根据权利要求1所述的代码分析方法,其中,所述多个有效情况包括:
3.根据权利要求2所述的代码分析方法,其中,生成所述二叉表达式树包括生成节点数据,所述节点数据包括与所述多个节点中的每个节点相对应的名称、两个子节点的信息、布尔值、翻转极限、以及翻转次数。
4.根据权利要求3所述的代码分析方法,其中,初始化所述多个节点中的每个节点的翻转极限和翻转次数包括:
5.根据权利要求4所述的代码分析方法,
6.根据权利要求5所述的代码分析方法,还包括:
7.根据权利要求5所述的代码分析方法,还包括:
8.根据权利要求7所述的代码分析方法,还包括:
9.根据权利要求8所述的代码分析方法,还包括:
10.根据权利要求7所述的代码分析方法,其中,确定所述多个节点中的每个节点是否具有翻转可行性包括:
11.根据权利要求7所述的代码分析方法,其中,确定所述二叉表达式树中是否存在所述翻转可行性路径包括:
12.根据权利要求7所述的代码分析方法,还包括:响应于所述处理器推断出存在所述翻转可行性路径,对包括在所述翻转可行性路径中的所有节点执行翻转并且基于所述翻转更新所述二叉表达式树。
13.根据权利要求12所述的代码分析方法,还包括:生成指示所述翻转的结果的测试用例。
14.根据权利要求12所述的代码分析方法,还包括:
15.一种代码分析设备,包括:
16.根据权利要求15所述的代码分析设备,其中,所述多个有效情况包括:
17.根据权利要求16所述的代码分析设备,其中,所述控制器生成节点数据,所述节点数据包括与所述多个节点中的每个节点相对应的名称、两个子节点的信息、布尔值、翻转极限、以及翻转次数。
18.根据权利要求17所述的代码分析设备,其中,所述控制器将与所述多个节点当中名称为操作数的多个叶节点中的每个叶节点对应的翻转极限设置为1,将所述多个父节点中的每个父节点的翻转极限设置为所述父节点的两个子节点的两个翻转极限之和,并且将所述多个节点中的每...
【专利技术属性】
技术研发人员:比姆森·乔希,郑光哲,萨蒂亚·普拉文·加纳帕蒂,拉梅什·奇特,拉克施米·玛尼坎塔·詹贾南,朴镛石,斯里帕德·江阿姆,
申请(专利权)人:现代自动车株式会社,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。