PRIMG : Efficient LLM-driven Test Generation Using Mutant Prioritization

PRIMG:基于突变优先化的智能合约测试用例生成框架

在这里插入图片描述

一、文章主要内容总结

本文提出了一种针对Solidity智能合约的测试用例生成框架PRIMG(Prioritization and Refinement Integrated Mutation-driven Generation),旨在通过突变优先化和LLM驱动的测试生成,解决传统变异测试中测试套件庞大、计算开销高的问题。核心内容包括:

  1. 框架设计

    • 突变优先化模块:利用机器学习模型(岭回归)预测存活突变体的“有用性”,基于突变体包含图(DMSG)和测试完整性提升概率(TCAP),选择高影响力的突变体作为测试目标,减少冗余。
    • 测试生成模块:使用LLM(如Llama 3.1)生成测试用例,并通过迭代优化(语法和行为验证)提升测试正确性,解决LLM生成代码时的语法错误和逻辑漏洞问题。
  2. 实验验证

    • 基于Code4Arena的3个真实Solidity项目(Allobase、Particle、Quadrata)进行评估,结果表明:
      • PRIMG在保持高变异覆盖率的同时,显著减少测试套件规模。
      • 优先化模块相比随机选择突变体,生成的测试用例能更
由于给定的参考引用未涉及GRAMMAR - LLM(Grammar - Constrained Natural Language Generation)的相关内容,根据专业知识,Grammar - Constrained Natural Language Generation指的是语法约束的自然语言生成。 在自然语言生成(NLG)任务中,通常需要生成符合一定语法规则和结构的文本。语法约束的自然语言生成就是在生成过程中引入特定的语法规则来指导文本生成,以确保生成的语言在语法上是正确的、符合预期结构的。 例如,在生成正式的法律文书、学术论文或者特定格式的报告时,需要严格遵循相应的语法和格式要求。GRAMMAR - LLM可以利用预定义的语法规则,对大语言模型生成的文本进行约束和调整。从技术实现上,可能会在模型的训练过程中加入语法相关的损失函数,使得模型学习到如何生成符合语法规则的文本;或者在生成阶段,对模型的输出进行后处理,过滤掉不符合语法约束的结果,保留并优化符合规则的文本。 以下是一个简单的伪代码示例,展示如何在生成过程中进行语法约束: ```python # 假设这是一个简单的语言生成模型 def language_generation_model(prompt): # 这里只是模拟生成文本,实际中会是复杂的模型推理过程 generated_text = "This is a sample text generated by the model." return generated_text # 语法检查函数,这里简单模拟检查主谓宾结构是否完整 def grammar_check(text): # 实际中会有更复杂的语法分析逻辑 words = text.split() if len(words) > 2: return True return False # 语法约束的自然语言生成 def grammar_constrained_nlg(prompt): generated_text = language_generation_model(prompt) while not grammar_check(generated_text): generated_text = language_generation_model(prompt) return generated_text # 示例调用 prompt = "Generate a sentence about a cat." result = grammar_constrained_nlg(prompt) print(result) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值