...
首页> 外文期刊>Information and software technology >A unified framework for declarative debugging and testing
【24h】

A unified framework for declarative debugging and testing

机译:统一调试和测试的统一框架

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

获取外文期刊封面封底 >>

       

摘要

Context: Debugging is the most challenging and time consuming task in software development. However, it is not properly integrated in the software development cycle, because the result of so much effort is not available in further iterations of the cycle, and the debugging process itself does not benefit from the outcome of other phases such as testing.Objective: We propose to integrate debugging and testing within a single unified framework where each phase generates useful information for the other and the outcomes of each phase are reused.Method: We consider a declarative debugging setting that employs tests to automatically entail the validity of some subcomputations, thus decreasing the time and effort needed to find a bug. Additionally, the debugger stores as new tests the information collected from the user during the debugging phase. This information becomes part of the program test suite, and can be used in future debugging sessions, and also as regression tests.Results: We define a general framework where declarative debugging establishes a bidirectional collaboration with testing. The new setting preserves the properties of the underlying declarative debugging framework (weak completeness and soundness) while generating test cases that can be used later in other debugging sessions or even in other cycles of the software development. The proposed framework is general enough to be instantiated to very different programming languages: Erlang (functional), Java (imperative, object-oriented), and SQL (data query); and the experimental results obtained for Erlang programs validate the effectiveness of the framework.Conclusion: We propose a general unified framework for debugging and testing that simplifies each phase and maximizes the reusability of the outcomes in the different phases of the software development cycle, therefore reducing the overall effort.
机译:背景信息:调试是软件开发中最具挑战性和耗时的任务。但是,它没有正确集成在软件开发周期中,因为在循环的进一步迭代中不可能提供这么大的努力的结果,并且调试过程本身不会受益于其他阶段的结果,例如Testing.Objective:我们建议在单个统一框架内集成调试和测试,其中每个阶段为另一个阶段生成有用的信息,并且每个阶段的结果都是重复使用。从而降低找到错误所需的时间和精力。此外,调试器存储在新测试在调试阶段中从用户收集的信息。此信息成为程序测试套件的一部分,并且可以在将来的调试会话中使用,也可以用于回归测试。结果:我们定义了声明调试与测试建立双向协作的一般框架。新设置保留了基础声明调试框架(弱完整性和声音)的属性,同时生成了可以在稍后在其他调试会话中使用的测试用例,甚至可以在软件开发的其他周期中使用。拟议的框架足够一般,可以将其实例化到非常不同的编程语言:Erlang(功能),Java(必要,面向对象)和SQL(数据查询);与Erlang计划获得的实验结果验证了框架的有效性。结论:我们提出了一般的统一框架,用于调试和测试,简化每个阶段,并最大限度地提高软件开发周期的不同阶段的结果的可重用性,从而减少整体努力。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号