期刊文献+

基于Java内存模型的并发程序模型检测 被引量:5

Model Checking the Concurrent Programs Based on the Java Memory Model
下载PDF
导出
摘要 为了提高性能,Java内存模型允许编译器在优化过程中改变代码的执行顺序,同时该技术也会造成共享数据的更新顺序与本来的执行顺序不同。在多线程Java并发程序中,这些代码乱序执行会引起很多难以发现的错误。现有的Java程序模型检测技术并没有考虑这些顺序改变的问题。因此,本文提出了一种建立包含多线程交互及线程内代码乱序执行的完整模型,并利用模型检测工具进行穷举检测的算法。该算法可以发现原有技术无法发现的新问题,更好地检测高可靠性要求的Java并发程序。 In order to improve the performance, the Java Memory Model allows the compiler to change the execution order. A variety of caches will change the modification order of the shared data too. In multithreaded concurrent Java programs, this "out of order" will cause lots of problems which are hard to detect. The existing Java model checking techniques do not consider these order changes. Therefore, this paper proposes an approach which builds a complete model including thread interactions and "out of order" execution in a single thread. This algorithm can find problems which are omitted by the existing method, as well as check and verify the programs which require high reliability better.
出处 《计算机工程与科学》 CSCD 北大核心 2010年第3期111-114,123,共5页 Computer Engineering & Science
基金 国家自然科学基金资助项目(60673155 90718008)
关键词 Java内存模型 模型检测 JAVA并发程序 多线程 软件测试 Java memory model model checking concurrent lava program multithreaded, software testing
  • 相关文献

参考文献14

  • 1Goetz B, Peierls T, Bloch J, et al. Java Concurrency in Practice[M]. Addison WesleyProfessional,2006.
  • 2Corbett J C, Dwyer M B, Hatcliff J, et al. Bandera:Extracting Finite-State Models from Java Source Code[C]//Proe of the 22nd Int' 1 Conf on Software Engineering, 2000: 439-448.
  • 3David Y W Park, Ulrich Stem, Jens U Skakkebak, et al. Java Model Checking[C]//Proc of ASE' 00,2000.
  • 4Havelund K, Pressburger T. Model Checking Programs Using Java Pathfinder[J].International Journal on Software Tools for Technology Transfer, 2000,2(4) : 366-381.
  • 5Gosling J, Joy W, Steele G, et al. The Java Language Specification[M]. Third Edition. Addison Wesley, 2005.
  • 6Clarke E M, Emerson E A, Sistla A P. Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications[J].ACM Trans on Programming Languages and Systems, 1986,8(2) : 244-263.
  • 7Holzmann G J. The Model Checker SPIN [J]. IEEE Trans on Software Engineering, 1997,23(5) : 279-94.
  • 8Holzmann G J. Trends in Software Verifieation[C]//Proc of Int'l Symp of Formal Methods Europe, 2003:40-50.
  • 9Havelund K, Visser W. Program Model Checking as a New Trend [J]. International Journal on Software Tools for Technology Transfer, 2002,4 (1) : 8-20.
  • 10Pugh W. Fixing the Java Memory Model[C]//Proc of the ACM Java Grande Conf, 1999:89-98.

同被引文献20

  • 1喻志虎,邹华,杨放春.Parlay应用服务器的软件容错研究与设计[J].北京邮电大学学报,2004,27(z2):14-19. 被引量:2
  • 2韩振斌,苗克坚.一种分布式软件自动化测试工具的设计与实现[J].科学技术与工程,2007,7(8):1774-1777. 被引量:4
  • 3EckelB 侯捷译.Java编程思想[M].北京:机械工业出版社,2002..
  • 4ADYA A, HOWELL J, THEIMER M, et al. Cooperative task man- agement without manual stack management[ C]//Proceedings of the General Track of the Annual Conference on USENIX Annual Techni- cal Conference. Berkeley: USENIX Association, 2002:289 - 302.
  • 5Apache Hadoop[ EB,/OL]. [2014 -12 -06]. http://hadoop, a- pache, org.
  • 6WEISS G. Multi-Agent systems: a modem approach to distributed artificial intelligence[ MI. Cambridge: MIT Press, 1999:121 - 165.
  • 7SUN Z, YUAN Z, HUANG Z. The application of Hadoop on the da- ta-intensive computing[ C/OL]. [ 2014 - 06 - 20]. http://www, do- cin. tom/p-159855715, html&endPro = true.
  • 8LIND·HOLMT.YELLINF,BRACHAG.Java虚拟机规范:JavaSE7版[M].周志明,薛笛,吴璞渊,等,译.北京:机械工业出版社,2014:1-51.
  • 9GOETZB,PEIERLST,BLOCHJ,等.Ja-va并发编程实践[M].童云兰,译.北京:机械工业出版社,2012:73-77.
  • 10戈茨等.JAVA并发编程实践[M].北京:电子工业出版社,2007.

引证文献5

二级引证文献4

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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