期刊文献+

多线程并行程序数据竞争静态检测方法 被引量:7

Multi-thread parallel program data race static detection model
下载PDF
导出
摘要 通过使用词法分析和语法分析进行线程并行程序数据竞争静态检测,根据规则将源代码数据竞争相关信息映射到XML文件,解决多个线程程序因可以随机访问共享变量而导致运行结果不确定性,容易引发数据竞争等问题。通过XQuery查询语言获取XML映射模型中的数据访问信息,将信息存储于数据竞争表示层。通过竞争图生成算法建立数据竞争有向图模型,利用拓扑排序检测数据竞争的具体位置,获取所有竞争序列。实验结果表明,该检测方法能够准确快速地发现多线程程序中的数据竞争并在源文件中进行准确定位。 The lexical analysis and syntax analysis were used to carry out the Multi-thread parallel program data race static detec-tion. According to the rules of data-race, the problems that all shared variables can be freely accessed in multi-thread programs? generating uncertainty of the running results, easily causing data-race, atomic violations and dead-locks to the program were solved. All shared variables access information was extracted from the XML mapping model by XQuery language and saved into data-race presentation layer. Data race directed graph model was constructed according to data-race graph, and the concrete data- race position was detected with topological sort algorithm to extract all data-race sequence. Experimental results show that the detection method can accurately and quickly find data-races in multi-thread programs and can accurately locate their positions in the source code file.
作者 陈俊 周宽久 贾敏 CHEN Jun ZHOU Kuan-jiu JIA Min(School of Education Science, Guizhou Normal University, Guiyang 550001, China School of Software Engineering, Dalian University of Technology, Dalian 116024, China School of Economics and Management, Beijing Electronic Science and Technology Vocational College, Beijing 100029, China)
出处 《计算机工程与设计》 北大核心 2017年第5期1264-1272,共9页 Computer Engineering and Design
基金 贵州省科学技术基金项目(黔科合协字师大LH字[2014]7040号)
关键词 多线程程序 数据竞争 静态检测 XML映射模型 XQUERY查询 multi-thread program data race static detection XML mapping model XQuery query
  • 相关文献

参考文献7

二级参考文献60

  • 1吴萍,陈意云,张健.多线程程序数据竞争的静态检测[J].计算机研究与发展,2006,43(2):329-335. 被引量:21
  • 2梁成才,章代雨,林海静.软件缺陷的综合研究[J].计算机工程,2006,32(19):88-90. 被引量:19
  • 3Kim S, Pan K, Whitehead E J, Jr. Memories of Bug Fixes[C]. //SIGSOFT'06/FSE-14, November 5- 11, 2006, Portland, Oregon, USA. New York: ACM, 2003: 35-45.
  • 4Hangal S, Lam M S. Tracking Down Software Bugs Using Automatic Anomaly Detection[C]. // 1CSE'02, May 19-25, 2002, Orlando, Florida, USA. New York, NY: ACM, 2002: 291-301.
  • 5Xie Yichen, Aiken A. Contextand Pathsensitive Memory Leak Detection[C]. // ESECFSE' 05, Sep- tember 5-9, 2005, Lisbon, Portugal. New York: ACM, 2005: 115-125.
  • 6David Hovemeyer. William Pugh. Finding Bugs Is Easy[M]. New York: ACM, 2004: 132-136.
  • 7Chess B, West J.安全编程--代码静态分析[M].董启雄,等,译.北京:机械工业出版社,2008:648-651.
  • 8Alex Aiken, Suhabe Bugrara, Isil Dillig, et al. An Overview of the Saturn Project[C]. //PASTE'07. San Diego, California, USA: [s.n.], 2007: 43-48.
  • 9Seth Hallem, Benjamin Chelf, Yichen Xie, et al A System and Language for Building System-Specific Static Analyses[C]. //PLDI'02, June 17-19, 2002, Berlin, Germany. New York, NY, USA: ACM, 2002: 69-82.
  • 10Martin M, Livshits B, Lam M S. Finding Application Errors and Security Flaws Using PQL: A Program Query Language[C]. // OOPSLA' 05, October 16-20, 2005, San Diego, California, USA. New York, NY: ACM, 2005: 365-383.

共引文献71

同被引文献48

引证文献7

二级引证文献4

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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