期刊文献+

基于字节码插桩的多线程调试工具 被引量:3

Multithreaded Debugging Tool Based on Bytecode Instrumentation
下载PDF
导出
摘要 在软件演化过程中,代码的调试是不可或缺的重要环节。对于多线程程序,线程的交错和调度是非确定的,不同的线程调度会产生不同的结果,程序员较难调试多线程程序。为此,对实际项目中多线程程序出现的错误进行分析,提出一种新的多线程调试工具,并给出顺序点概念。设计用于调试的线程调度语言,在字节码层面对测试程序进行插桩,使线程按照期望的顺序调度。在此基础上实现一个Eclipse上的调试插件。实验结果表明,与现有工具IMunit相比,该调试工具减少了程序员的工作量,并拓展了两类程序的调试场景,具有较好的实用性。 During the evolution of software,the debugging of programs is an important and necessary process.For multithreaded programs,the interleaving and scheduling are non-deterministic.Different scheduling can give different results,so it is difficult for developers to debug a multithreaded program.Therefore,this paper analyzes the concurrency bugs in real projects,presents a new multithreaded debugging tool,and proposes the concept of sequence point.It designs the scheduling language for debugging,instruments the test programs in bytecode level,and makes threads schedule in a desired sequence.It implements a debugging plugin in Eclipse.Experimental results show that compared with existing tool IMunit,the tool reduces developers’workload and enhances two debugging scenarios.It has better availability.
出处 《计算机工程》 CAS CSCD 北大核心 2016年第11期83-88,共6页 Computer Engineering
基金 国家自然科学基金(61572313)
关键词 多线程 调试 字节码 插桩 领域特定语言 插件 multithreading debugging bytecode instrumentation domain-specific language plugin
  • 相关文献

参考文献2

二级参考文献17

  • 1戴清涵,李宣东,赵建华,郑国梁.面向设计流图的代码支撑工具[J].计算机科学,2005,32(11):203-206. 被引量:1
  • 2ShameemAkhter,JasonRoberts.多核程序设计技术:通过软件多线程提升性能[M].李宝峰,富弘毅,李韬,译.北京:电子工业出版社,2007.
  • 3石磊玉.日臻完善:软件调试与优化典型应用[M].北京:中国铁道出版社,2009:171-178.
  • 4Jeffrey D,Gupta N. Improving Fault Detection Capability by Selectively Retaining Test Cases During Test Suite Reduction[J]. IEEE Transactions on Software Engineering,2007,33(2) :108-123.
  • 5Beydeda S,Gruhn V. BINTEST-Binary Search-based Test Case Generation[C] // Proceedings of the 27th Annual International Confer- ence on Computer Software and Applications IEEE Computer Society, 2003.
  • 6Kiczales G, et ak Asspect-oriented Programming [C]// Procee- dings of the European Conference on Object-oriented Programming. Finland: Springer-Verlag, 1997.
  • 7vim: http://www, vim. org/.
  • 8emacs., http://www, gnu. org/software/emacs/.
  • 9Lee H B, Zom B G. BIT:A Tool for Instrumenting Java Bytecodes.
  • 10BCEL: The Byte Code Engineering Library[EB/OL]. http://jakarta. apache org/becl/.

共引文献5

同被引文献16

引证文献3

二级引证文献5

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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