首页 | 本学科首页   官方微博 | 高级检索  
     

面向收敛的并发程序执行轨迹静态简化方法
引用本文:常曦,薛建新,张卓,毛晓光.面向收敛的并发程序执行轨迹静态简化方法[J].软件学报,2017,28(5):1107-1117.
作者姓名:常曦  薛建新  张卓  毛晓光
作者单位:上海第二工业大学 软件工程系, 上海 201209,上海第二工业大学 软件工程系, 上海 201209;国防科学技术大学 计算机学院, 湖南 长沙 410073,国防科学技术大学 计算机学院, 湖南 长沙 410073,国防科学技术大学 计算机学院, 湖南 长沙 410073
基金项目:国家自然科学基金(61502296,61379054,61672529);上海市自然科学基金(15ZR1417000)
摘    要:轨迹静态简化技术是在确保与原轨迹等价的前提下,通过随机减少程序执行时线程切换的数量,达到提高程序员调试并发程序效率的目的.然而,轨迹中可减少的线程切换分布往往是不均匀的,因此,随机简化策略难以有效地发现可简化的线程切换.为此,本文提出面向收敛的合并算法致力于这个问题.该算法基本思想是不断地随机选择一线程执行区间作为中心,在同一线程内,采用面向收敛的合并算法迭代地寻找可与其合并的前置执行区间和后置执行区间.实验证明,本文提出的方法可以高品质地减少执行轨迹中的线程切换数量,进而有助于程序员快速发现引发错误的线程交错。

关 键 词:并发程序  执行轨迹  轨迹等价  轨迹简化  调试
收稿时间:2016/7/15 0:00:00
修稿时间:2016/9/25 0:00:00

Convergence-Oriented Static Approach for Simplifying Execution Traces of Concurrent Programs
CHANG Xi,XUE Jian-Xin,ZHANG Zhuo and MAO Xiao-Guang.Convergence-Oriented Static Approach for Simplifying Execution Traces of Concurrent Programs[J].Journal of Software,2017,28(5):1107-1117.
Authors:CHANG Xi  XUE Jian-Xin  ZHANG Zhuo and MAO Xiao-Guang
Affiliation:Department of Software Engineering, Shanghai Polytechnic University, Shanghai 201209, China,Department of Software Engineering, Shanghai Polytechnic University, Shanghai 201209, China;School of computer, National University of Defense Technology, Changsha 410073, China,School of computer, National University of Defense Technology, Changsha 410073, China and School of computer, National University of Defense Technology, Changsha 410073, China
Abstract:Static trace simplification technique is a technique which is to improve the efficiency of debugging through reducing the number of thread contexts in a buggy trace without changing the dependency information.However, the application of static trace simplification technique to simply a buggy trace still faces a strong challenge in that the distribution of reduced thread contexts are usually nonuniform, and therefore a random trace simplification technique is difficult to achieve.In this paper, we propose a convergence-oriended static trace simplification approach to address this challenge.The essntical idea of this approach is to build a static trace simplification model, and then repeatly adopt a convergence-oriended mergence algorithm to search the mergable previous interval and the merable succeeding intervals in the same thread.The experiment shows that the approach can simply the traces with high quality.It can help programers find the thread interleaves that cause the faults.
Keywords:concurrency program  execution trace  trace equivalence  trace simplification  debugging
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号