软件抗意外攻击弹性的推理与改进
Reasoning and Improving on Software Resilience against Unanticipated Exceptions
摘要:
在软件中,有在规格说明和设计时预期的错误,在开发和测试时遇到的错误,以及在生产模式中发生但从未预料到的错误。在本文中,我们的目的是推理的软件正确处理意外异常的能力。我们提出了一种算法,称为短路测试,它注入异常测试套件执行过程中,以模拟意外的错误。该算法收集用作输入的数据,用于验证捕获两个弹性属性的两个正式异常合约。我们对9个测试套件的评估,平均78%的行覆盖率,分析了241个执行的catch块,显示其中101个暴露了弹性属性,84个可以转换为更有弹性。
英文摘要:
In software, there are the errors anticipated at specification and design time, those encountered at development and testing time, and those that happen in production mode yet never anticipated. In this paper, we aim at reasoning on the ability of software to correctly handle unanticipated exceptions. We propose an algorithm, called short-circuit testing, which injects exceptions during test suite execution so as to simulate unanticipated errors. This algorithm collects data that is used as input for verifying two formal exception contracts that capture two resilience properties. Our evaluation on 9 test suites, with 78% line coverage in average, analyzes 241 executed catch blocks, shows that 101 of them expose resilience properties and that 84 can be transformed to be more resilient.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。