期刊文献+

并发程序的切片模型检验方法 被引量:7

Slicing Concurrent Programs for Model Checking
下载PDF
导出
摘要 提出了一种对并发程序进行切片以缩减模型检验状态空间的方法 .首先针对并发程序中的同步与通信定义了一组依赖关系 ,包括并发分支与接合、非确定性、信道、共享变量等特征 .对于从要验证的时态逻辑性质中提取的关于多个程序点的切片标准 ,文中给出算法根据相应的依赖关系通过不动点运算得到并发程序切片 . Model checking is an important technology of automatic verification, and its main problem faced is space-explosion, which is usually caused by the concurrency in the system. This paper presents an efficient approach to slice concurrent programs for model checking. A set of dependence relations is defined corresponding to the characteristics of synchronization and communication in concurrent programs, such as parallel fork and joint, non-deterministic, channel, share variable, and lock. The dependence graph of concurrent program can be constructed from these dependence relations. To ensure the correctness of verification result for temporal property, the multi-points-relevant slicing criterion is extracted from the property. Then, the paper presents a method to compute the slice of concurrent program, which only includes the statements reachable from the slicing criterion in dependence graph. The correctness of the resulted slice is guaranteed with respect to the satisfaction of the desired property. The method throws away the irrelevant portions of the program corresponding to the property, which will reduce the state space to be explored in model checking. Finally, slicing is compared with partial-order reduction, another method that reduces the state space according to the property, and the similarities and differences of these two methods are discussed.
出处 《计算机学报》 EI CSCD 北大核心 2003年第3期266-274,共9页 Chinese Journal of Computers
基金 国家"八六三"高技术研究发展计划 ( 2 0 0 1AA113 2 0 2 ) 国家自然科学基金( 69973 0 5 1 90 10 40 0 7) 霍英东青年教师基金 ( 710 64 )资助
  • 相关文献

参考文献12

  • 1Weiser M. Program slicing. IEEE Transactions on Software Engineering, 1984, 10(4): 352~357
  • 2Kamkar M, Shahmehri N, Fritzson P. Bug localization by algorithmic debugging and program slicing. In: Proceedings of PLILP′90, Sweden, 1990.60~74
  • 3Cheng J. Process dependence net: A concurrent program representation. In: Proceedings of JSSST the 8th Conference, Japan, 1991. 513~516
  • 4Cheng J. Slicing concurrent programs--A graph-theoretical approach. In: Proceedings of the 1st International Workshop on Automated Algorithmic Debugging, Sweden, 1993.223~240
  • 5Dwyer M B, Hatcliff J. Slicing software for model construction. In: Proceedings of ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, San Antonio, 1999.105~118
  • 6Millett L, Teitelbaum T. Slicing promela and its applications to model checking, simulation, and protocol understanding. In: Proceedings of the SPIN 98 Workshop, Paris, 1998. 75~83
  • 7Hatcliff J, James C, Corbett et al. A formal study of slicing for multi-threaded programs with JVM concurrency primitives. In: Proceedings of the International Symposium on Static Analysis, Venezia, 1999.1~18
  • 8Manna Z, Pnueli A. Temporal Verification of Reactive Systems: Safety. New York: Springer-Verlag, 1995
  • 9Peterson G L. Petri Net Theory and Modeling of Systems. Englewood Cliffs, NJ:Prentice-Hall, 1981
  • 10Clarke E M, Jr. Orna Grumberg, Peled D A. Model Checking. Cambridge, Massachusetts:The MIT Press, 1999

同被引文献97

引证文献7

二级引证文献19

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部