[发明专利]一种Java卡栈性能测试应用程序及其框架的制作方法无效
申请号: | 201210064553.4 | 申请日: | 2012-03-13 |
公开(公告)号: | CN102662807A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 李莹;张凌飞;殷中科 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 杭州裕阳专利事务所(普通合伙) 33221 | 代理人: | 江助菊 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 性能 测试 应用程序 及其 框架 制作方法 | ||
技术领域
本发明涉及智能卡技术领域,尤其是涉及一种Java卡栈性能测试应用程序及其框架的制作方法。
背景技术
近年来,Java智能卡以其良好的平台无关性、多应用的支持、良好的安全特性、面向对象的编程环境、应用开发的简易性、应用程序动态下载等优点,已经在社会生活的各个领域得到广泛的应用,在诸多领域有着广阔的应用前景。例如,国内地方金融银行卡业务发展十分迅速,全国220家发卡机构中有192家为地方金融机构,地方金融机构发卡量达3亿张,交易量占全国总量的五分之一左右。面对如此庞大的制卡系统,针对不同业务需求,选择合适的卡商对于决策者是一个艰难的选择。Java卡的这种局势促使卡片开发者和卡片供应商越来越注重于对Java卡性能的测试。
目前,市场上在Java卡运算、存取操作、稳定性、应用功能及基本安全等非物理性能的测试方面,多数采用PC/SC规范。PC/SC体系由三个主要部件组成:操作系统、读写器(IFD)、智能卡(ICC)。在测试的具体实现上较为通用的方法是,用java编写能够体现Java卡某项性能的测试小应用程序(JavaCard Applet),经过java编译器编译生成class文件,再由JCDK的转换器转为CAP文件,接着由卡外终端通过读卡器与Java卡连接,将JavaCard Applet安装到卡上,并发送一系列APDU命令对该Applet进行系统性测试,最后以卡内测试所耗时间作为Java卡性能指标。然而,由于JCVM的封装,Java卡开发者无法直接对一张现成的卡片进行栈操作。若要测试Java卡栈性能,将会涉及JCVM字节码测试,比如在字节码级修改JavaCard Applet。
事实上,Java卡栈操作是其整体性能评估的重要指标,这就要求在Java卡性能评估中必须对其栈性能进行测试,而且是独立的精确测试。据了解,目前对JCVM字节码的可测性研究方面,还没有一种有效的标准的方法,能够准确区分一条指令用于CPU上的时间和用于栈操作的时间。
发明内容
针对上述技术缺陷,本发明提出一种Java卡栈性能测试应用程序及其框架的制作方法。
为了解决上述技术问题,本发明的技术方案如下:
一种Java卡栈性能测试应用程序的制作方法,包括如下步骤:
1)构建java语言编写的测试用源程序;
2)在所述java源程序的基础上,添加循环体代码,通过编译、转换得到CAP文件;
3)在所述CAP文件中定位“59 XX 01”的位置,然后向前定位“A5”的位置;
4)根据JCVM字节码指令表将测试所需的栈操作相关的二进制代码添加入所述CAP文件中“A5”和“59 XX 01”之间;
所述XX为java源程序中循环变量在循环测试函数作用域中的定义序号。
进一步的,当所述CAP文件中“59 XX 01”的位置多余一个时,判断位置前是否存在大量成规律性重复的字节码来实现定位。
进一步的,通过在循环体内添加多条运算赋值语句使得最终产生的CAP文件具有足够的编程空间,通过采用变量交替赋值的方法,防止所述运算赋值语句被编译器优化。
进一步的,将所述CAP文件中“A5”和“59 XX 01”之间的区域的数据置为0,然后根据JCVM字节码指令表将测试所需的栈操作相关的二进制代码替换入所述CAP文件中“A5”和“59 XX 01”之间的0值,如果遇到测试空间不足时,则通过在步骤2)中增加适当的循环体代码后重新编译、转换实现测试空间的增加;反之将多余的区域保持0值。
本发明的有益效果在于:本发明在字节码层面对JavaCard CAP文件进行修改,生成的特殊JavaCard Applet可用于对Java卡栈操作进行直接测试,解决了常规JavaCard Applet无法准确测试Java卡栈性能的问题,且保证了Java卡栈性能测试结果的真实性。本发明提出一个制作JavaCard Applet的框架,利用该框架能方便地制作用于Java卡栈性能测试的JavaCard Applet,提高了Java卡栈性能测试的效率。在该框架中还能对栈操作指令进行多种组合,使测试具有多样性。
附图说明
图1是用于加法测试的java源程序基本结构图;
图2是循环体代码在cap文件中的定位和制作框架示意图。
具体实施方式
下面将结合附图和具体实施例对本发明做进一步的说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210064553.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:安全算法选择方法、装置及系统
- 下一篇:可控小光程差干涉系统