【24h】

Debugging Declarative Models in Alloy

机译:在合金中调试声明式模型

获取原文

摘要

Debugging, which involves both fault localization and bug repair, is critical for developers to identify and remove bugs in a program. Most existing debugging research techniques focus on imperative programs (e.g., C and Java) and rely on test suite to analyze correct and incorrect executions of the program to identify and repair suspicious statements.We propose a new debugging framework for models written in a declarative language, where the models are not "executed", but rather converted into a logical formula solvable using a constraint solver. In recent work, we developed a fault localization tool that takes as input an Alloy model consisting of a violated assertion and returns a ranked list of suspicious expressions contributing to the violation. Preliminary results show that the fault localization tool is accurate, useful, and scales to complex, real-world Alloy models.In this work, we propose a new repair technique and tool that can be integrated with our fault localization tool or used as a stand-alone tool. We aim to automatic repair bugs violating given assertions in Alloy models. We plan to adopt guided search and pattern-based repair techniques from imperative automatic program repair and modify DFA learning algorithms to synthesis repairs.
机译:调试涉及故障定位和错误修复,对于开发人员识别和删除程序中的错误至关重要。现有的大多数调试研究技术都集中在命令式程序(例如C和Java)上,并依靠测试套件来分析程序的正确和不正确执行,以识别和修复可疑语句。 ,而不是“执行”模型,而是使用约束求解器将其转换为可求解的逻辑公式。在最近的工作中,我们开发了一种故障定位工具,该工具将包含违规断言的Alloy模型作为输入,并返回导致违规的可疑表达式的排序列表。初步结果表明,故障定位工具是准确,有用的,并且可以扩展到复杂的真实世界的合金模型中。在这项工作中,我们提出了一种新的修复技术和工具,可以与我们的故障定位工具集成在一起或用作支架工具。我们旨在针对违反合金模型中给定断言的错误进行自动修复。我们计划从命令式自动程序修复中采用导引搜索和基于模式的修复技术,并将DFA学习算法修改为综合修复。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号