《2022年面向对象语言编译器的自动测试平台 .pdf》由会员分享,可在线阅读,更多相关《2022年面向对象语言编译器的自动测试平台 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、面向对象语言编译器的自动测试平台何群周激流(四川大学软件学院提出了一种新的面向对象语言编译器自动测试的方法和过程O_OCTT测试用例的自动生成是编译器自动测试工具的核心阐述了 O_OCTT 设计与实现过程中的关键技术软件测试自动化测试工具AbstractKey words 142005 年 7 月July 2005文章编号()文献标识码TP311.56编译器是使用频度非常高的系统软件因而对编译器的测试尤为重要对编译器测试方法的研究一直在继续时至今日编译器测试自动化是众多研究人员及软件工程师追求的目标但这些自动测试工具绝大多数只适用于支持结构化语言的编译器给编译器测试方法提出了新课题在设计测试用
2、例时重点考虑编译器是否能正确处理源语言的语法在编译器测试中其测试重点是对每一个语法语义点都无遗漏地进行测试语义点间任意复杂的组合问题在产生测试用例时又考虑了深度测试在测试用例中不包含期待的测试结果根据面向对象语言的语法规则设计测试程序生成器即测试用例然后用待测编译器编译该测试程序再在目标机上运行编译的结果另一方面在同一目标机上运行比较二者运行结果O_OCTT 测试模式由于只考虑产生有效的测试用例因而可以降低测试用例生成器的设计难度1.2 O_OCTT随机的思想和算法O_OCTT在自动生成测试用例的设计中引入随机的思想和算法采用的思想代替的思想在满足应用的条件下代替方法解决证明正确性的问题某些步
3、可以随机选择下一步解决实作者简介)讲师软件工程周激流2004-06-06 E-mail2a?1?图 1 O_OCTT编译器测试模式名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 5 页 -际问题 P 的概率算法A 定义如下I 的尺度|I|=n?yb(1n)r=(b1,b2,bi 决定算法的下一步选取A 的其它动作是确定的解这类问题常用分治法分自动生成测试用例的问题可以看作是从所有用例库中查找的用例概率算法适用于解决这一问题设集合 S 有 n 个元素一般有|C|S|,BKBiS从而得到相应的k 个结构 CBk分别在 C上寻找 xi,k然后在 x1在分解 D 之下 而不一定有1ki=
4、UC?C(S)x 的问题产生不正确解就是没有找到能检测到 C 编译器错误的测试用例则称 A 以大于 1-针对 C 编译器测试问题来说的值可以通过对多次实验数据的分析估算适当选择以上各种指标参数O_OCTT 中使用大量的随机算法一种是均等随机法所谓均等随机法是指选取任意一项的几率均为1/m?m 个候选项中随机选取选项的几率与权值成正比个候选项选中 AC若为 AC?e?a1040则选中 A 的几率是0.1选中 C的几率为0.4通过这种方式建立随机入口测试用例生成过程函数调用关系树语句生成算法结构表简单数据类型与复杂数据类型2.1 测试用例生成过程如何构造出一个完整的C+源程序任何程序都是由语言要素
5、构成的程序由主函数其中类由成员变量和成员函数构成全局函数均由各种语句构成因此就形成了 C+源程序在 O_OCTT 中首先要保证程序语法的正确程序应能正确地结束异常错误等程序具有系统性与任意性测试用例的生成过程如图2 所示其他全局函数包括全局函数间的关系及类成员函数间的关系包括函数名函数返回值的类型开始结束图 2 测 试 用 例 的 生 成 过 程2.2 表达式生成算法表达式是构成程序的重点和难点采用随机算法表达式的产生离不开数据类型定义了数据类型间的转换关系优先级低的数据类型可以向优先级高的数据类型转换表达式中的操作数常量的数据类型的优先级应不大于表达式的数据类型优先级O_OCTT规定了表达式
6、的深度当表达式的深度小于随机选取的表达式深度时2.3 函数调用关系树O_OCTT 中生成函数调用关系树允许函数的递归调用如果产生测试用例时程序的收敛很难保证产生测试用例时并且为了解决函数之间直接或间接的递归调用的问题如图 3 所示非叶节点LEAF纯叶节点非叶节点是指可以在其函数体中调用其它全局函数或者类成员函数的函数节点纯叶节点是指不可以调用其它任何函数的函数节点算法将函数调用关系组织成为函数调用树名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 5 页 -函数调用树中的每一层只能有一个非叶节点其它节点必须是叶节点或者纯叶节点即树中下一层函数不可以调用上一层的函数main函数调用关
7、系函数 n函数 2函数 1函数 1.1函数 1.2函数 1.n第一层第二层第 n层.图 3 函 数 调 用 树类成员函数的调用树和全局函数的调用树类似类成员函数的调用树中有很多根节点每一个根结点就是一棵独立的子树除了叶节点以外的其它节点全部都是纯叶节点这些叶节点在普通函数调用树中第一步第二步放在.h 文件中第三步其中第三步要在函数调用树产生后才能进行class tag:base-list member-list declarators;其中base-listtag,*public|private|protectedvirtualclass tagmembers|friends members
8、names friends随机产生类的个数对每一个类生成构造函数和析构函数表达式语句循环语句跳转语句try-block 语句其中循环语句最为复杂do 循环语句以及for 循环语句然后进行分析可发现但它们可以用相同的方法来构造随机取得语句的嵌套层次则层次减 1?a?3?2?a02.6 变量生成策略测试式用例中含有大量的变量简单变量有结构变量类对象数组变量等等语句产生之前生成变量的作用范围由函数来限定在产生语句过程中还可动态生成变量变量的产生顺序在语句之前复杂数据类型可以分解为简单数据类型但测试用例并不是杂乱无章的各语言要素是按语法语义规则来组织的结构表记录各种与变量类当有新的语言成分产生时当产生
9、表达式或语句过程中需要使用这些语言成分时结构表成为O_OCTT 管理过程中的图4 结构表工作机制2.8 隐式数据类型转换数据类型转换是编译器测试的一个重点内容之一很多编译器在处理复杂的数据类型转换过程中容易发生错误用一般的测试方法很难达到预期测试效果辅以足够的测试深度就是基于这一测试策略来进行这方面的测试工作O_OCTT 在设计时bool 型优先级最低优先级低的数据类型可以向优先级高的数据类型转换在 O_OCTT 中一类是全局函数另一类是类的成员函数函数体生成的过程实际上是一个遍历函数调用树的过程都必须有相应的函数体实现程序中的每一个函数尽管每一个函数体的内容不同(下转第 166 页)语言成分
10、修改语言成分使用语言成分名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 5 页 -X 和 Y 的欧氏距离1,a2,a3,an4.2 分类判别函数设有考试集中的某未知样本x?1?1?1?DN 个样本个2类的样本有N2个来自若 k1,k2,kc分别是 k 个近邻中属于,c类的样本数13?iikxgmax)(=则决策jxL 类和 R 类以外的所有其他字母L 类手势EGRZH R 类手势A 表 2 手势图像 F和 G的 1阶 4高阶 16 分量的 NMI 值本文对30 个汉语手势字母按伸展方向进行粗分类实验表明准确性高 L 类中部分手势图像的1 阶和 4 阶 16分量的 NMI 值如表
11、2 所示1阶 NMI 值对于区分手势是最有效的而引入高阶的NMI 可以有效提供一些手势图像局部的信息高阶 NMI 分量的作用就显现出来套手势图像以及考试集中 1 套手势图像分别进行识别表 3 识别结果6 结束语本文将图像的NMI 值引入手势识别通过对手势图像进行预处理后然后提取手势图像的一阶和高阶 NMI 值得到图像的一个17维向量空间实验证明有利于快速识别实验中的不足是手势背景比较简单并在本文的成果基础上研究基于视觉的动态手势识别基于视觉手势识别的研究综述.电子学报章文怡区域特征的乐谱识别系统.软件学报关于手写汉字识别的研究.计算机研究与发展面向对象编程语言的编译程序测试工具项目,是整个课题
12、的重要部分目前并通过了 Motorola 软件中心组织的评审因此但是O_OCTT 项目仍需进一步完善测试用例可考虑加入C+的异常流等语言特性还可考虑研发Java的编译器测试工具还需从理论上进一步丰富编译器测试技术,:,:,:,舒智勇焦跃等译.软件测试自动化技术与实例详解.北京15F10.660 271 0.411 147 0.431 100 0.418 289 0.411 642 0.408 647 F0.660 725 0.416 069 0.460 643 0.450 643 0.451 850 0.408 647 G10.630 447 0.422 249 0.483 814 0.450
13、 156 0.444 589 0.408 647 G0.633 402 0.408 655 0.434 883 0.423 256 0.422 530 0.408 647 识别对象粗分类准确率最近邻原则识别率K 近邻原则识别率2 套设计集 60 个10080正确 52 个正确 23 个83.33名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 5 页 -面向对象语言编译器的自动测试平台作者:何群,陈英,周激流,HE Qun,CHEN Ying,ZHOU Jiliu作者单位:四川大学软件学院,成都,610064刊名:计算机工程英文刊名:COMPUTER ENGINEERING年,卷(
14、期):2005,31(14)被引用次数:1次参考文献(4条)1.舒智勇;包晓露;焦跃软件测试自动化技术与实例详解 20002.Chen Huoyan;Tse T H;Yuetang DengROCS:An Object-oriented Class-level Testing System Based on the Relevant ObservableContexts Technique 外文期刊 2000(10)3.International StandardISO/IEC FDIS 14882.Programming languages-C+19984.Boujarwah A S;Saleh KCompiler Test Case Generation Methods:A Survey and Assessment外文期刊 1997引证文献(1条)1.陈国梁.郭东辉 嵌入式C 编译器测试用例生成工具的设计期刊论文-微计算机应用 2010(6)本文链接:http:/ 5 页,共 5 页 -