期刊文献+

一种基于调用链的Java程序数据竞争静态检测算法 被引量:1

A Call-chain-based Static Data Race Detection Algorithm for Java Program
下载PDF
导出
摘要 多线程并发程序的广泛使用引发了更多的数据竞争问题,竞争检测对于提高软件质量具有重要意义。论文将竞争静态检测和静态切片分析结合起来,提出了一种类层次的Java数据竞争静态检测算法,该算法利用函数调用层次获得函数调用链,对类域进行分析,找出可能数据竞争,通过静态切片缩小程序分析范围,并结合数据竞争的必要条件,去掉不可能数据竞争。实例表明,该算法可用于指导修复程序中的竞争缺陷。 The widespread use of multithread concurrent programs causes more detrimental data race problems, race detection is very important for improving software quality. Combining static data race detection with static program slicing, a class-lever static data race detec- tion algorithm for Java multithread programs is presented, which analysis every field of a class with call-chain as its context to remove the im- possible data race. An example illustrates the proposed algorithm can help to guide programmer to fix software data race defects.
机构地区 [ [
出处 《舰船电子工程》 2013年第12期53-57,共5页 Ship Electronic Engineering
关键词 数据竞争 程序切片 静态分析 竞争检测 data race, program slice, static analysis, race detection
  • 相关文献

参考文献18

  • 1Netzer R H B, Miller B P. What are race conditions? some is- sues and formalizations [-J]. ACM Letters on Programming Languages and Systems, 1992,1 (1) : 74-88.
  • 2Adve S V, Hill M D, Miller B P, et al. Detecting data races on weak memory systemsEC//Proceedings of the 18th Annual International Symposium on Computer Architecture (ISCA'91). Toronto, Canada, 1991:234-243.
  • 3Christiaens M, Brosschere K. TRaDe: A topological approach to on-the-fly race detection in Java programaEC//Proceedings of the 1st Java Virtual Machine Research and Technology Sym- posium(JVM'01). Monterey, California, USA,2001 : 105-116.
  • 4Agarwal R, Sasturkar A, Wang L, et al. Optimized run-time race detection and atomieity checking using partial discovered types[C//Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering(ASE 2005), Long Beach, USA, November,2005 : 233-242.
  • 5Cheng G, Feng M, Leiserson C, et al. Detecting data races in Cilk programs that use locksrCJ//Proceedings of the 10th An- nual ACM Symposium on Parallel Algorithms and Architec- tures(SPAA'98), Puerto Vallarta, Mexico, 1998: 298-309.
  • 6Yu Y, Rodeheffer T, Chen W. RaceTrack: Efficient detection of data race conditions via adaptive trackingl-C//Proceedings of the 20th ACM Symposium on Operating Systems Principles (SOSP'05), Brighton, United Kingdom, 2005 : 221-234.
  • 7张昱,郝允允.Java程序数据竞争的增量式检测[J].西安交通大学学报,2009,43(8):22-27. 被引量:4
  • 8Landi W. Undecidability of static analysis[J]. ACM Letters on Programming Languages and Systems, 1992,1 (4) : 323-337.
  • 9梅宏,王千祥,张路,王戟.软件分析技术进展[J].计算机学报,2009,32(9):1697-1710. 被引量:101
  • 10Choi J D, Loginov A, Sarkar K. Static datarace analysis for multithreaded object-oriented programs[R-]. IBM Research: Technical Report RC22146,2001.

二级参考文献74

  • 1吴萍,陈意云,张健.多线程程序数据竞争的静态检测[J].计算机研究与发展,2006,43(2):329-335. 被引量:21
  • 2NETZER R H, MILLER B P. What are race conditions? some issues and formalizations [J]. ACM Letters on Programming Languages and Systems, 1992,1(1):74-88.
  • 3CHRISTIAENS M, BROSSCHERE K. TRaDe: a topoiogical approach to on-the-fly race detection in Java programs[C]//Proc of 1st Java Virtual Machine Research and Technology Symposium. Berkeley, CA, USA: USENIX Association, 2001:105-116.
  • 4O'CALLAHAN R, CHOI J D. Hybrid dynamic data race detection [C]//Proc of the ACM SIGPLAN Symp on Principles and Practice of Parallel Programming. New York, USA: ACM, 2003: 167-178.
  • 5HENZINGER T A, JHALA R, MAJUMDAR R. Race checking by context inference [C]//Proc of the ACM SIGPI.AN Conf on Programming Language Design and Implementation. New York, USA: ACM, 2004: 1-13.
  • 6NAIK M, AIKEN A, WHALEY J. Effective static race detection for java [C]//Proc of the ACM SIGPLAN Conf on Programming Language Design and Implementation. New York, USA:ACM, 2006: 308- 319.
  • 7LAMPORT L. Time, clocks, and the ordering of events in a distributed system[J]. Communications of the ACM, 1978, 21(7): 558-565.
  • 8LANDI W. Undecidability of static analysis [J]. ACM Letters on Programming Languages and Systems, 1992,1(4) : 323-337.
  • 9SALCIANU A, RINARD M. Pointer and escape analysis for multithreaded programs [C]// Proc of 8th ACM SIGPLAN Symp on Principles and Practices of Parallel Programming. New York, USA: ACM, 2001: 12-23.
  • 10Shaw M. Truth Vs. knowledge: The difference between what a component does and what we know it does//Proeeedings of the 8th International Workshop Software Specification and Design. Budapest, Hungary, 1996: 181- 185.

共引文献114

同被引文献2

引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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