作者投稿和查稿 主编审稿 专家审稿 编委审稿 远程编辑

计算机工程 ›› 2008, Vol. 34 ›› Issue (13): 72-74. doi: 10.3969/j.issn.1000-3428.2008.13.027

• 软件技术与数据库 • 上一篇    下一篇

一种大规模并行程序模型的检测方法

杨明远,罗贵明   

  1. (清华大学软件学院,北京 100084)
  • 收稿日期:1900-01-01 修回日期:1900-01-01 出版日期:2008-07-05 发布日期:2008-07-05

Checking Method of Large-scale Concurrent Program Model

YANG Ming-yuan, LUO Gui-ming   

  1. (School of Software, Tsinghua University, Beijing 100084)
  • Received:1900-01-01 Revised:1900-01-01 Online:2008-07-05 Published:2008-07-05

摘要: JPF是NASA开发的Java程序模型检测工具。该文通过改写JPF内核中生成状态空间的模块,使待检测程序在受监控状态下模拟执行。用Data-Race算法收集警告信息,引导程序模型检测工具只对死锁相关线程进行模型检测,避免了状态空间爆炸,实现了对大规模并行程序部分线程死锁问题的模型检测。利用启发式搜索算法,在不同的搜索深度赋给待执行线程不同的权值,进一步优化了模拟执行 结果。

关键词: JPF工具, 并行程序, 运行信息, Data-Race算法, 启发式搜索

Abstract: JPF is a Java program model checker developed by NASA. The module that generates the state space in JPF is rewritten to make the program waiting for model checking run under supervision. The Data-Race algorithm is applied to record warnings which guide JPF to check deadlock related threads. This design avoids the state space explosion and realizes model checking of large-scale programs with only some threads in deadlocks. A heuristic method is also proposed to optimize the efficiency of simulation running by giving different weights to live threads according to search depths.

Key words: JPF tool, concurrent programs, running information, Data-Race algorithm, heuristic search

中图分类号: