乔格·希勒(Joerg Hiller)
7月15日,2025年05:59
HALMOS v0.3.0引入了状态不变测试,性能增强和改进的求解器支持,从而在EVM智能合约中大大提高了错误检测。
HALMOS是一种为EVM Smart Contracts设计的符号测试工具,已启动其最新版本V0.3.0,该版本侧重于实际的错误检测和性能改进。根据A16Z Crypto的说法,此更新标志着该工具功能的显着进步,增强了其在正式验证之外的有效性。
状态不变测试
本版本中最值得注意的补充是支持状态不变测试,这是一项高度要求的功能。这使HALMOS可以自动识别目标合同和功能,探索可能的状态并断言不变,从而有效地识别潜在的故障。用户可以通过将测试前缀测试启动此测试 invariant_
,使工具能够探索各种状态序列,直至指定的深度。
覆盖报告和可视化工具
HALMOS V0.3.0还提供了以LCOV格式输出覆盖信息的能力,可以使用VSCODE的覆盖式沟槽扩展名进行可视化。此外,包含FlameGraph的支持使用户可以在不变测试期间可视化呼叫序列,从而清楚地了解该工具所探索的路径。
性能和求解器增强功能
EVM解释器循环已经进行了重大的性能改进,可以更快地实现32倍的执行。该工具现在支持更广泛的SMT求解器,通过自动配置它们以最佳使用来简化其集成。与以前的选项相比,由于其较高的速度,已将Yices作为默认求解器引入。
其他功能
HALMOS V0.3.0引入了对实验固体编译器SOLX的支持,并通过用于环境变量操作的新作弊码扩展了其功能。还添加了进度指标,并在长时间会议期间就工具的操作提供了实时反馈。
这些增强功能巩固了Halmos作为智能合同测试的强大工具的地位,为开发人员提供了确保合同可靠性和安全性的功能。
图像来源:Shutterstock
(tagstotranslate)AI(T)加密(T)区块链(T)新闻
关键词: