DLLens: Testing Deep Learning Libraries via LLM-aided Synthesis

2024年06月12日
  • 简介
    本文介绍了一种新的深度学习库测试技术DLLens,它采用差分测试来确保深度学习库的质量。DLLens利用大型语言模型(LLM)综合深度学习库API的有效对应项,以便进行差分测试以检测功能性深度学习库漏洞。为了生成多样化的测试输入,DLLens采用静态分析方法辅助LLM从每个API及其对应实现的所有执行路径中提取路径约束,然后利用这些路径约束来指导生成多样化的测试输入。作者在TensorFlow和PyTorch两个流行的深度学习库上评估了DLLens,结果显示DLLens可以为这些库综合出两倍以上的API对应项,提取出26.7%更多的约束,并检测出2.5倍于现有技术的漏洞。DLLens成功地在最近的TensorFlow和PyTorch库中发现了56个漏洞,其中41个以前是未知的,其中39个已经在报告后得到开发人员的确认,19个已经被开发人员修复。
  • 图表
  • 解决问题
    论文旨在解决深度学习库测试中的差异测试问题,即如何在不需要测试神经网络的正确性的情况下,找出实现相同功能的不同深度学习库之间的差异。
  • 关键思路
    论文提出了一种新的差异测试技术DLLens,它利用大型语言模型合成DL库API的有效对应项,并结合静态分析方法提取路径约束来生成多样化的测试输入。
  • 其它亮点
    DLLens成功地在TensorFlow和PyTorch两个流行的DL库中发现了56个bug,其中41个是之前未知的。DLLens可以合成比现有技术多两倍以上的API对应项,并提取出26.7%更多的约束条件,比现有技术发现的bug数量多2.5倍。论文还开源了DLLens的代码和数据集。
  • 相关研究
    与此类似的研究包括DeepDelta、DeepTest和DLFuzz等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论