Java Card小程序EEPROM与RAM测试

时间:2015-06-11 14:22:50

标签: unit-testing debugging simulation smartcard javacard

Java Card小程序中的一个典型错误是将持久性内存用于临时变量,这些变量应该在RAM中。

这些错误会降低applet的速度并导致一些严重的问题(例如Symptoms of EEPROM damage)。

单元测试很难揭示这些错误。单元测试将applet作为黑盒子访问,他们所能做的就是检查给定输入的输出。当然,它们可以测量时间并报告可疑的慢速命令,但是覆盖持久存储器中的单个字节几乎与覆盖RAM中的单个字节的时间相同。

有没有办法摆脱这些错误(编码时要小心)?我可以以某种方式检测EEPROM更改以及在处理特定APDU时完成了多少次更改?

当然,一个好的模拟器可以完成这项工作。但是,JCardSim(www.jcardsim.org)和恩智浦JCOP工具似乎都远远无法报告EEPROM使用情况统计数据。

你知道其他任何可能对我有帮助的工具或测试技术吗?

1 个答案:

答案 0 :(得分:0)

可以执行测试命令并可以添加测试方案,这将返回可用内存。可以通过getAvailableMemory(byte memoryType);

实现