...
首页> 外文期刊>The Journal of Systems and Software >Using SPIN for automated debugging of infinite executions of Java programs
【24h】

Using SPIN for automated debugging of infinite executions of Java programs

机译:使用SPIN对Java程序的无限执行进行自动调试

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

摘要

This paper presents an approach for the automated debugging of reactive and concurrent Java programs, combining model checking and runtime monitoring. Runtime monitoring is used to transform the Java execution traces into the input for the model checker, the purpose of which is twofold. First, it checks these execution traces against properties written in linear temporal logic (LTL), which represent desirable or undesirable behaviors. Second, it produces several execution traces for a single Java program by generating test inputs and exploring different schedulings in multithreaded programs. As state explosion is the main drawback to model checking, we propose two abstraction approaches to reduce the memory requirements when storing Java states. We also present the formal framework to clarify which kinds of LTL safety and liveness formulas can be correctly analysed with each abstraction for both finite and infinite program executions. A major advantage of our approach comes from the model checker, which stores the trace of each failed execution, allowing the programmer to replay these executions to locate the bugs. Our current implementation, the tool TJT. uses Spin as the model checker and the Java Debug Interface (JDI) for runtime monitoring. TJT is presented as an Eclipse plug-in and it has been successfully applied to debug complex public Java programs.
机译:本文提出了一种自动反应式和并发Java程序调试的方法,该方法结合了模型检查和运行时监视。运行时监视用于将Java执行跟踪转换为模型检查器的输入,其目的是双重的。首先,它对照以线性时间逻辑(LTL)表示的属性来检查这些执行迹线,这些属性表示期望或不期望的行为。其次,它通过生成测试输入并探索多线程程序中的不同调度来为单个Java程序生成多个执行跟踪。由于状态爆炸是模型检查的主要缺点,因此我们提出了两种抽象方法来减少存储Java状态时的内存需求。我们还提供了一个正式的框架,以阐明对于有限和无限程序执行,每种抽象都可以正确分析哪些LTL安全性和活动性公式。我们方法的主要优势来自模型检查器,该模型存储了每个失败执行的跟踪,从而使程序员可以重播这些执行以查找错误。我们当前的实现工具TJT。使用Spin作为模型检查器,并使用Java调试接口(JDI)进行运行时监视。 TJT作为Eclipse插件提供,已成功应用于调试复杂的公共Java程序。

著录项

  • 来源
    《The Journal of Systems and Software》 |2014年第4期|61-75|共15页
  • 作者单位

    Dpto. de Lenguajes y Ciencias de la Computacidn, University of Malaga. Spain;

    Dpto. de Lenguajes y Ciencias de la Computacidn, University of Malaga. Spain;

    Dpto. de Lenguajes y Ciencias de la Computacidn, University of Malaga. Spain;

    Dpto. de Lenguajes y Ciencias de la Computacidn, University of Malaga. Spain;

  • 收录信息
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号