PDF
摘要
为改善传统的模糊测试用例生成方法存在指令覆盖率低和效率不足的问题,提出一种大语言模型(Large Language Model, LLM)辅助智能合约模糊测试用例生成方法IntelliFuzz。该方法通过静态分析提取目标智能合约的潜在漏洞信息,并构建初始状态交易对语料库和婴态语料库,从状态交易对语料库中选取状态交易对进行变异并执行,同时监测路径点覆盖率变化,将有效提升覆盖率的样本补充至状态交易对语料库。当覆盖率达到瓶颈时,调用思维链提示工程模块生成当前状态下新的交易序列,若评估结果能提高指令覆盖率,则将新生成的交易序列保存到状态和交易对语料库中。实验结果表明,与基准方法ItyFuzz相比,IntelliFuzz在小型合约10 s内的指令覆盖率提升11%,在大型合约20 s内的指令覆盖率提升40.9%,且IntelliFuzz在B2数据集误报率降低9.4%,漏报率降低3.98%,模糊测试用例生成的指令覆盖率和效率有所提升。
关键词
智能合约
/
模糊测试
/
大语言模型
/
提示工程
/
测试用例
Key words
LLM辅助智能合约模糊测试用例生成方法[J].
西安邮电大学学报, 2025, 30(05): 92-99 DOI:10.13682/j.issn.2095-6533.2025.05.010