首页> 外文期刊>Theoretical computer science >An integrated framework for the diagnosis and correction of rule-based programs
【24h】

An integrated framework for the diagnosis and correction of rule-based programs

机译:诊断和更正基于规则的程序的集成框架

获取原文
获取原文并翻译 | 示例
       

摘要

We present a generic scheme for the declarative debugging of programs that are written in rewriting-based languages that are equipped with narrowing. Our aim is to provide an integrated development environment in which it is possible to debug a program and then correct it automatically. Our methodology is based on the combination (in a single framework) of a semantics-based diagnoser that identifies those parts of the code that contain errors and an inductive learner that tries to repair them, once the bugs have been located in the program. We develop our methodology in several steps. First, we associate with our programs a semantics that is based on a (continuous) immediate consequence operator, T_R, which models the answers computed by narrowing and is parametric w.r.t. the evaluation strategy, which can be eager or lazy. Then, we show that, given the intended specification of a program R, it is possible to check the correctness of R by a single step of T_R. In order to develop an effective debugging method, we approximate the computed answers semantics of R and derive a finitely terminating bottom-up abstract diagnosis method, which can be used statically. Finally, a bug-correction program synthesis methodology attempts to correct the erroneous components of the wrong code. We propose a hybrid, top-down (unfolding-based) as well as bottom-up (induction-based), correction approach that is driven by a set of evidence examples which are automatically produced as an outcome by the diagnoser. The resulting program is proven to be correct and complete w.r.t. the considered example sets. Our debugging framework does not require the user to provide error symptoms in advance or to answer difficult questions concerning program correctness. An implementation of our debugging system has been undertaken which demonstrates the workability of our approach.
机译:我们提出了一种通用的方案,用于声明式调试使用精简的基于重写的语言编写的程序。我们的目标是提供一个集成的开发环境,在其中可以调试程序,然后自动对其进行更正。我们的方法基于一个基于语义的诊断程序(在单个框架中)的组合,该诊断程序可识别代码中包含错误的那些部分,以及一个归纳学习器,一旦发现程序中的错误,便可以尝试修复这些错误。我们分几步开发方法。首先,我们将基于(连续)立即结果运算符T_R的语义与程序关联起来,该语义对通过缩小计算出的答案进行建模,并且参数w.r.t。评估策略,可以是渴望的,也可以是懒惰的。然后,我们表明,给定程序R的预期规格,可以通过一个T_R步骤检查R的正确性。为了开发一种有效的调试方法,我们对R的计算出的答案语义进行了近似,并推导了一种可终止使用的自底向上的抽象诊断方法,该方法可以静态使用。最后,错误修正程序综合方法试图修正错误代码的错误组件。我们提出了一种混合的,自上而下的(基于展开)和自下而上的(基于归纳)校正方法,该方法由一组证据示例驱动,这些证据示例将由诊断程序自动生成。所产生的程序被证明是正确且完整的。考虑的示例集。我们的调试框架不需要用户事先提供错误症状或回答有关程序正确性的难题。我们已经进行了调试系统的实施,这证明了我们方法的可行性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号