论文

KQFuzz:通过 大语言模型 进行量子库的知识引导模糊测试

KQFuzz: Knowledge-Guided Fuzzing for Quantum Libraries via Large Language Models

摘要

随着量子计算的不断改进,确保量子库的可靠性和正确性变得越来越重要。为此,人们提出了许多基于 LLM 的量子库模糊测试方法来发现潜在的错误。然而,这些方法仍然存在灵活性不足、效率低等局限性,阻碍了量子计算领域的进步。为了应对这些挑战,我们提出了 KQFuzz,一种用于量子库的新型知识引导模糊器。它利用全面的代码库知识来生成基于 LLM 的测试,并将其与适应性引导评估和两级突变相结合,以探索复杂的执行路径并触发潜在的错误。首先,KQFuzz 引入了一种针对量子程序量身定制的新颖提示方案,该方案策略性地结合代码库知识,以高效生成高质量的量子种子程序。此外,我们开发了评估和变异策略来处理生成的种子程序,促进有效的模糊测试执行,同时进一步丰富所得测试用例的多样性。我们实现了 KQFuzz,并对三个流行的量子库(包括 Qiskit、PennyLane 和 Cirq)进行模糊测试。实验结果表明,我们的方法明显优于其他最先进的方法,覆盖率提高了高达 18.44%。在KQFuzz的开发过程中,我们发现了13个Bug,目前已全部确认,其中12个已经被开发者修复。