-
公开(公告)号:CN111176994B
公开(公告)日:2023-03-31
申请号:CN201911349540.X
申请日:2019-12-24
Applicant: 北京轩宇信息技术有限公司
IPC: G06F11/36
Abstract: 本发明实施例提供了一种针对嵌入式软件IO端口的单元测试用例生成方法及装置。所述方法包括:对待测试程序进行静态分析,获取所述待测试程序中的关键数据;启动基于解释器的符号执行引擎;在所述解释器中建立一个IO区域查询表和分配一段IO专用内存区域;采用所述符号执行引擎根据所述IO区域查询表、所述IO专用内存区域、IO端口输入映射到IO专用内存和所述关键数据,确定所述待测试程序对应的测试用例。本发明实施例能够自动识别IO端口,无需人工配置,生成用例效率提升,且解决了IO端口地址作为输入时生成的用例覆盖率低的问题。
-
公开(公告)号:CN114896145A
公开(公告)日:2022-08-12
申请号:CN202210453325.X
申请日:2022-04-27
Applicant: 北京轩宇信息技术有限公司
IPC: G06F11/36
Abstract: 一种用于符号执行的复杂类型输入变量懒符号化方法及系统,包括生成输入驱动文件,通过入口函数指定输入变量和驱动被测函数;分配符号内存;当执行到一条语句时,解释执行和符号执行分别对同一地址上的实际值和符号值进行操作;在执行过程中对内存地址访问时,解释执行直接读写实际值映射表内容;符号执行先检查符号值映射表中该地址上是否存在符号值,存在则直接读写;不存在则创建一个新符号值,符号值映射表中新增一条地址与符号值的映射,再进行正常读写;一次符号执行结束后对收集的约束取反以及求解,最终得到表达式与值的映射关系,生成用例数据文件。本发明针对复杂类型的输入变量,采用懒符号化策略,提升用例的生成速度和降低内存开销。
-
公开(公告)号:CN118331857A
公开(公告)日:2024-07-12
申请号:CN202410368374.2
申请日:2024-03-28
Applicant: 北京轩宇信息技术有限公司
Abstract: 一种覆盖率驱动的测试用例自动生成方法,对被测程序进行静态分析记录程序中的所有分支集合以及每个循环体对应的内部分支集合;创建初始的程序执行路径,根据路径搜索策略确定当前执行路径;对当前执行路径中pc指向的语句进行符号执行,在符号执行过程中干预循环执行,裁剪大量由循环语句衍生出的冗余路径;将路径中已覆盖的所有分支记录到全局已覆盖分支中并进行约束求解,求解结果即为该路径对应的用例并输出;在确认分支全部覆盖后结束迭代,生成测试用例集合。本发明在有限的资源下提升单元测试的覆盖率,同时提升自动生成测试用例的效率及有效性。
-
公开(公告)号:CN117493152A
公开(公告)日:2024-02-02
申请号:CN202211636381.3
申请日:2022-12-19
Applicant: 北京轩宇信息技术有限公司
Abstract: 本发明公开了一种通用的嵌入式软件单元测试环境构建方法和系统,包括平台配置单元、测试场景构建单元、环境变量添加单元和自动构建单元;构建方法包括:步骤一,添加环境变量;步骤二,创建平台配置包;步骤三,构建测试场景;步骤四,生成测试环境;本发明把单元测试环境抽象为平台配置包、测试场景和环境变量三个部分,使用参数化方式描述测试环境,形成一套嵌入式软件平台配置机制,基于该机制形成多种嵌入式平台配置包和一个构建系统,把环境变量、测试场景和对应的平台配置包输入到构建系统,生成对应的测试环境,该方法可用于软件动态测试工具套件,使其在无需修改工具代码的情况下适配多种测试环境。
-
公开(公告)号:CN114896145B
公开(公告)日:2024-09-20
申请号:CN202210453325.X
申请日:2022-04-27
Applicant: 北京轩宇信息技术有限公司
IPC: G06F11/36
Abstract: 一种用于符号执行的复杂类型输入变量懒符号化方法及系统,包括生成输入驱动文件,通过入口函数指定输入变量和驱动被测函数;分配符号内存;当执行到一条语句时,解释执行和符号执行分别对同一地址上的实际值和符号值进行操作;在执行过程中对内存地址访问时,解释执行直接读写实际值映射表内容;符号执行先检查符号值映射表中该地址上是否存在符号值,存在则直接读写;不存在则创建一个新符号值,符号值映射表中新增一条地址与符号值的映射,再进行正常读写;一次符号执行结束后对收集的约束取反以及求解,最终得到表达式与值的映射关系,生成用例数据文件。本发明针对复杂类型的输入变量,采用懒符号化策略,提升用例的生成速度和降低内存开销。
-
公开(公告)号:CN114817045B
公开(公告)日:2024-10-25
申请号:CN202210472030.7
申请日:2022-04-29
Applicant: 北京轩宇信息技术有限公司
Abstract: 本发明涉及一种高效的源代码覆盖率确定方法及系统。该方法在插桩时计算出MC/DC真值表,利用位向量压缩真值表并在采集过程中实时计算真值表覆盖情况,具有精度高、膨胀率低和执行速度快的优点。同时,该方法无需额外的辅助插桩点,也无需频繁I/O和输出大量信息,产生的数据量与现有的执行标记方式相当,从而实现了低膨胀率和快速的精确覆盖率分析。
-
公开(公告)号:CN115658507A
公开(公告)日:2023-01-31
申请号:CN202211323818.8
申请日:2022-10-28
Applicant: 北京轩宇信息技术有限公司
IPC: G06F11/36
Abstract: 本发明公开了针对实时嵌入式软件源代码覆盖率分析系统,包括CPU指令集模拟器模块,所述CPU指令集模拟器模块包括包括插桩模块、编译模块、目标码符号分析模块、配置文件生成模块、配置接口模块、指令执行模块、时钟计时和维护模块、函数检查模块、函数调用栈维护模块、覆盖率收集模块、覆盖率分析模块、覆盖率展示模块和报告生成模块,本发明在维持插桩方式不变的情况下,利用指令集模拟器执行实时嵌入式软件目标程序,在执行探针代码时钟暂停计时,使得插桩后代码执行的时钟周期与非插桩的一致,结合高效的源代码插桩和分析方法,该发明的系统具有膨胀率低、保证实时性的优点,同时提升了该系统的执行速度。
-
公开(公告)号:CN114817045A
公开(公告)日:2022-07-29
申请号:CN202210472030.7
申请日:2022-04-29
Applicant: 北京轩宇信息技术有限公司
Abstract: 本发明涉及一种高效的源代码覆盖率确定方法及系统。该方法在插桩时计算出MC/DC真值表,利用位向量压缩真值表并在采集过程中实时计算真值表覆盖情况,具有精度高、膨胀率低和执行速度快的优点。同时,该方法无需额外的辅助插桩点,也无需频繁I/O和输出大量信息,产生的数据量与现有的执行标记方式相当,从而实现了低膨胀率和快速的精确覆盖率分析。
-
公开(公告)号:CN111176994A
公开(公告)日:2020-05-19
申请号:CN201911349540.X
申请日:2019-12-24
Applicant: 北京轩宇信息技术有限公司
IPC: G06F11/36
Abstract: 本发明实施例提供了一种针对嵌入式软件IO端口的单元测试用例生成方法及装置。所述方法包括:对待测试程序进行静态分析,获取所述待测试程序中的关键数据;启动基于解释器的符号执行引擎;在所述解释器中建立一个IO区域查询表和分配一段IO专用内存区域;采用所述符号执行引擎根据所述IO区域查询表、所述IO专用内存区域、IO端口输入映射到IO专用内存和所述关键数据,确定所述待测试程序对应的测试用例。本发明实施例能够自动识别IO端口,无需人工配置,生成用例效率提升,且解决了IO端口地址作为输入时生成的用例覆盖率低的问题。
-
-
-
-
-
-
-
-