PEF:扩展Python错误符号执行验证,提升程序可靠性评估

0 下载量 58 浏览量 更新于2024-06-18 收藏 768KB PDF 举报
"这篇学术论文探讨了Python错误符号执行验证工具PEF的开发与应用,扩展了原有的PeerCheck方法,使其能对用户自定义的类进行符号执行,从而提高Python程序的验证和测试效率。作者们构建的PEF工具不仅验证了自身的代码,还应用于知名算法和数据结构的测试,显示了其在实际中的潜力和实用性。" 在软件开发中,确保程序的可靠性是一项关键任务,而Python错误符号执行验证工具的出现为此提供了新的解决方案。符号执行是一种强大的程序推理技术,它通过构建符号语义来模拟程序执行,允许程序处理代表多种具体输入的符号输入,从而探索多条执行路径。这一技术在自动检测软件缺陷、进行单元测试、程序调试、程序证明和验证等方面具有广泛应用。 传统上,符号执行的实现通常需要编写新的解释器或翻译代码到支持符号执行的语言。然而,PeerCheck的出现提供了一种轻量级的基于库的方法,它在不修改原始代码的情况下,利用Python语言特性实现了面向对象语言的符号执行。但原始的PeerCheck方法仅限于对原生类型进行符号执行。 本研究的工作主要是在PeerCheck的基础上进行了扩展,使得符号执行可以应用于用户自定义的类对象。这一扩展增强了工具的灵活性和适用性,因为许多复杂的程序行为往往涉及自定义类和对象的交互。为了实现这一扩展,作者们开发了新的验证工具——PEF(Python Error Finder),它整合了描述的技术和扩展,能够用于验证用Python编写的程序。 通过使用PEF验证工具,作者们展示了其在实际应用中的潜力,例如验证了工具自身的代码,以及对一些知名的算法和数据结构进行了测试。这种验证过程有助于发现潜在的错误,增强代码的健壮性,并提高了测试覆盖率。此外,PEF工具的易用性和有效性也为Python程序员提供了一种新的测试和调试手段,有助于提升软件的可靠性。 关键词涉及到的领域包括:程序的可靠性、验证、单元测试、符号执行、程序测试、程序调试、程序证明、程序验证、符号解释和测试Python程序。这些概念共同构成了PEF工具的核心价值,表明了在Python环境中应用符号执行技术对于提升软件质量的重要性。通过开放获取的许可证,该研究成果可供广泛的科研和工程人员参考,推动Python程序验证技术的进一步发展。