【24h】

Automated Workarounds from Java Program Specifications Based on SAT Solving

机译:基于SAT解决方案的Java程序规范中的自动化解决方法

获取原文

摘要

The failures that bugs in software lead to can sometimes be bypassed by the so called workarounds: when a (faulty) routine fails, alternative routines that the system offers can be used in place of the failing one, to circumvent the failure. Previous works have exploited this workarounds notion to automatically recover from runtime failures in some application domains. However, existing approaches that compute workarounds automatically either require the user to manually build an abstract model of the software under consideration, or to provide equivalent sequences of operations from which workarounds are computed, diminishing the automation of workaround-based system recovery. In this paper, we present two techniques that automatically compute workarounds from Java code equipped with formal specifications, avoiding abstract software models and user provided equivalences. These techniques employ SAT solving to compute workarounds on concrete program state characterizations. The first employs SAT solving to compute traditional workarounds, while the second directly exploits SAT solving to circumvent a failing method, building a state that mimics the (correct) behaviour of this failing routine. Our experiments, based on case studies involving implementations of collections and a library for date arithmetic, enable us to show that the techniques can effectively compute workarounds from complex contracts in an important number of cases, in time that makes them feasible to be used for run time repairs.
机译:有时,可以通过所谓的解决方法来绕开软件错误导致的故障:当(故障)例程失败时,可以使用系统提供的替代例程来代替发生故障的例程,以规避故障。以前的工作已利用此变通办法概念来自动从某些应用程序域中的运行时故障中恢复。但是,自动计算变通办法的现有方法要么要求用户手动构建所考虑软件的抽象模型,要么提供从中计算变通办法的等效操作序列,从而降低了基于变通办法的系统恢复的自动化。在本文中,我们提出了两种技术,这些技术可以从带有正式规范的Java代码自动计算变通办法,避免抽象软件模型和用户提供的等效项。这些技术采用SAT解决方案来计算有关具体程序状态表征的解决方法。第一种方法采用SAT解算来计算传统的解决方法,而第二种方法直接利用SAT解决方案来规避失败的方法,建立一种模仿该失败例程的(正确)行为的状态。我们的实验基于涉及集合实现和日期算术库的案例研究,使我们能够证明该技术可以有效地从大量案例中的复杂合同中计算变通办法,并及时将其用于运行时间修理。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号