基于事件结构的并发程序可视化调试方法
作者:
作者单位:

作者简介:

通讯作者:

中图分类号:

基金项目:

国家高技术研究发展计划(863)(2012AA011204);国家自然科学基金(61173005,61003029)


Visual Debugging Concurrent Programs with Event Structure
Author:
Affiliation:

Fund Project:

  • 摘要
  • |
  • 图/表
  • |
  • 访问统计
  • |
  • 参考文献
  • |
  • 相似文献
  • |
  • 引证文献
  • |
  • 资源附件
  • |
  • 文章评论
    摘要:

    在多核和并发技术得到广泛应用的今天,如何有效地调试并发程序,成为一个重要且亟待解决的研究课题.并发程序的不确定性及其行为的复杂性,使得传统的调试技术难以得到有效的应用;而软件维护场景中错误发现与错误调试过程的分离使得错误重现难以实现,面向缺陷报告的调试需求使得自动的错误定位技术难以应用,加剧了调试的困难.针对软件维护阶段由缺陷报告导向的程序调试场景,提出了可视化的并发程序调试方法.该方法能够根据缺陷报告中的信息对程序进行切片,缩小需要分析的代码范围;通过静态分析构造出程序行为的全局视图,帮助程序员发现隐含的程序执行路径;根据事件结构的语义简化程序行为视图,使得行为模型规模可控;根据图形中的分支,引导用户关注路径中的关键操作,从而更快地发现程序中的缺陷.与动态调试方法相比,该方法能够避免错误重现的代价.借助缺陷报告中的信息以及事件结构模型的特点,该方法能够尽量减少状态爆炸的发生.已开发出的交互式并发程序调试工具原型JESVis Debugger,初步实现了所提出的方法.

    Abstract:

    The multi-core and concurrency technology are widely used today. How to debug concurrent programs effectively becomes an important topic. Due to nondeterministic and complex behavior of the concurrent program, traditional debugging techniques are inappropriate to apply. In bug-reports-oriented debugging scenarios, the separation of error detection and error debugging processes makes the failures more difficult to reproduce, which exacerbates the difficulty of debugging. For bug-report-oriented debugging scenarios, this paper proposes a method to visualize program behaviors to assist programmers to debug manually. The method reasons concurrent program behavior through static analysis, giving a global view to programmers to help them observe the behavior of the program and guiding their attention on suspicious operation. This approach can avoid the cost of reproducing concurrent failures. With the information in the bug report as well as the feature of the event structure model, it eliminates the state explosion problem that may arise during static analysis of concurrent programs. A prototype of interactive debugging tool for Java called JESVis Debugger, is developed as an initial realization of the proposed method.

    参考文献
    相似文献
    引证文献
引用本文

伍晓泉,魏峻.基于事件结构的并发程序可视化调试方法.软件学报,2014,25(3):457-471

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2013-01-30
  • 最后修改日期:2013-05-03
  • 录用日期:
  • 在线发布日期: 2014-03-03
  • 出版日期:
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号