期刊文献+
共找到32篇文章
< 1 2 >
每页显示 20 50 100
多线程程序数据竞争的静态检测 被引量:21
1
作者 吴萍 陈意云 张健 《计算机研究与发展》 EI CSCD 北大核心 2006年第2期329-335,共7页
多线程并发程序的广泛使用带来了更多的数据竞争错误·传统的数据竞争静态检测由于对并发语义和别名信息的保守分析会导致很多假错误·因此,提出了一个精确有效的静态检测框架:分析应用了精确的别名分析并静态模拟了访问事件发... 多线程并发程序的广泛使用带来了更多的数据竞争错误·传统的数据竞争静态检测由于对并发语义和别名信息的保守分析会导致很多假错误·因此,提出了一个精确有效的静态检测框架:分析应用了精确的别名分析并静态模拟了访问事件发生序;为提高分析效率,检测算法提出了一个以对象为中心,结合Escape分析缩小检测范围的检测算法并配合设计了压缩的别名等价类表示·检测框架在一个静态Java编译器JTool上做了实现,对于测试程序取得了很好的分析结果· 展开更多
关键词 并发程序 程序分析 数据竞争 别名分析
下载PDF
一种基于程序可达图的并发程序依赖性分析方法 被引量:14
2
作者 戚晓芳 徐宝文 周晓宇 《电子学报》 EI CAS CSCD 北大核心 2007年第2期287-291,共5页
依赖性分析是一种重要的程序分析手段.针对多线程共享变量通信机制,本文在提出一种新的并发程序表示—线程交互可达图(tIRG)的基础上,从全局分析并发程序的依赖关系,构建了以程序状态和语句二元组为节点的并发程序依赖图(MSDG).与传统... 依赖性分析是一种重要的程序分析手段.针对多线程共享变量通信机制,本文在提出一种新的并发程序表示—线程交互可达图(tIRG)的基础上,从全局分析并发程序的依赖关系,构建了以程序状态和语句二元组为节点的并发程序依赖图(MSDG).与传统的以语句为节点的并发程序依赖图相比,MSDG图中依赖关系不仅精确,且具有可传递性,对其遍历可获得高精度的并发程序切片,精度和效率较其它高精度切片方法有显著提高. 展开更多
关键词 并发程序 可达性分析 依赖性分析 程序切片
下载PDF
基于有限状态进程的事件约束定义 被引量:5
3
作者 顾庆 陈道蓄 +2 位作者 谢立 韩杰 孙钟秀 《软件学报》 EI CSCD 北大核心 2002年第11期2162-2168,共7页
测试分布式程序需要定义事件约束来检测程序执行产生的事件序列.事件约束需要根据程序的规约来推导.FSP是一类描述并发程序形式化规约的进程代数记法.它将并发进程描述为动作序列,其中动作可对应到规约级事件.E-CSPE约束在给定状态谓词... 测试分布式程序需要定义事件约束来检测程序执行产生的事件序列.事件约束需要根据程序的规约来推导.FSP是一类描述并发程序形式化规约的进程代数记法.它将并发进程描述为动作序列,其中动作可对应到规约级事件.E-CSPE约束在给定状态谓词下定义前后运行事件间的顺序关系.根据FSP的操作符和并发控制机制可推导E-CSPE约束.推导出来的E-CSPE约束考虑到并发程序的安全和进展属性,可据以判断程序运行的正确性和测试的充分性. 展开更多
关键词 有限状态进程 事件约束定义 软件测试 并发程序 软件开发
下载PDF
一种改进的并发程序静态切片算法 被引量:3
4
作者 肖健宇 张德运 +1 位作者 陈海诠 董皓 《计算机工程》 CAS CSCD 北大核心 2006年第14期14-16,45,共4页
分析了Krinke切片算法对循环体内嵌套有线程的程序结构会产生切片不精确的现象,认为其原因是该算法对线程间数据依赖的定义过于粗糙,且对程序行为约束不够。该文提出一种新算法,在并发程序内部表示中,增加跨线程边界循环-承载数据依赖,... 分析了Krinke切片算法对循环体内嵌套有线程的程序结构会产生切片不精确的现象,认为其原因是该算法对线程间数据依赖的定义过于粗糙,且对程序行为约束不够。该文提出一种新算法,在并发程序内部表示中,增加跨线程边界循环-承载数据依赖,并引入区域化执行证据约束程序行为。实例研究表明,该算法克服了Krinke算法的不精确现象。 展开更多
关键词 静态程序切片 并发程序 切片算法 程序依赖图 执行证据
下载PDF
一种改进的用于并发程序静态切片的程序依赖图 被引量:2
5
作者 肖健宇 张德运 +1 位作者 陈海诠 董皓 《微电子学与计算机》 CSCD 北大核心 2006年第1期6-10,共5页
分析了KRINKE切片算法,发现当对程序循环体内嵌套有一个或多个线程的结构时会产生切片不精确的现象,原因是KRINKE算法的数据结构所定义的线程间数据依赖关系过于粗糙,相应的切片算法对程序执行路径的合法性约束不够严格。提出一种改进... 分析了KRINKE切片算法,发现当对程序循环体内嵌套有一个或多个线程的结构时会产生切片不精确的现象,原因是KRINKE算法的数据结构所定义的线程间数据依赖关系过于粗糙,相应的切片算法对程序执行路径的合法性约束不够严格。提出一种改进的并发程序依赖图,引入跨线程边界循环-承载数据依赖关系。给出了添加跨线程边界循环-承载数据依赖关系的算法。实例分析表明,作用在新的并发程序依赖图上的切片算法克服了KRINKE算法的切片不精确现象。 展开更多
关键词 静态程序切片.并发程序 程序依赖图 循环-承载数据依赖
下载PDF
CMuJava:一个面向Java程序并发变异体生成系统 被引量:1
6
作者 孙昌爱 耿宁 +1 位作者 代贺鹏 顾友达 《软件学报》 EI CSCD 北大核心 2022年第2期397-409,共13页
并发程序由多个共享存储空间并发执行的流程组成.由于流程之间执行次序的不确定性,使得并发软件系统的测试比较困难.变异测试是一种基于故障的软件测试技术,广泛用于评估测试用例集的充分性和测试技术的有效性.将变异测试应用于并发程... 并发程序由多个共享存储空间并发执行的流程组成.由于流程之间执行次序的不确定性,使得并发软件系统的测试比较困难.变异测试是一种基于故障的软件测试技术,广泛用于评估测试用例集的充分性和测试技术的有效性.将变异测试应用于并发程序的一个关键问题是,如何高效地生成大量的模拟并发故障的变异体集合.给出了一种并发程序的变异测试框架,研制了一个并发变异体自动生成工具CMuJava.采用经验研究的方式评估了CMuJava生成的变异体集合的正确性与充分性,并且评估了变异体生成的效率.实验结果表明:CMuJava能够准确、充分地生成并发变异体集合,极大地提高了手工变异体生成的效率. 展开更多
关键词 并发程序 变异测试 并发变异算子 并发变异体 测试工具
下载PDF
一种大规模并行程序模型的检测方法 被引量:2
7
作者 杨明远 罗贵明 《计算机工程》 CAS CSCD 北大核心 2008年第13期72-74,共3页
JPF是NASA开发的Java程序模型检测工具。该文通过改写JPF内核中生成状态空间的模块,使待检测程序在受监控状态下模拟执行。用Data-Race算法收集警告信息,引导程序模型检测工具只对死锁相关线程进行模型检测,避免了状态空间爆炸,实现了... JPF是NASA开发的Java程序模型检测工具。该文通过改写JPF内核中生成状态空间的模块,使待检测程序在受监控状态下模拟执行。用Data-Race算法收集警告信息,引导程序模型检测工具只对死锁相关线程进行模型检测,避免了状态空间爆炸,实现了对大规模并行程序部分线程死锁问题的模型检测。利用启发式搜索算法,在不同的搜索深度赋给待执行线程不同的权值,进一步优化了模拟执行结果。 展开更多
关键词 JPF工具 并行程序 运行信息 Data-Race算法 启发式搜索
下载PDF
Precise slicing of interprocedural concurrent programs 被引量:1
8
作者 Xiaofang QI Zhenliang JIANG 《Frontiers of Computer Science》 SCIE EI CSCD 2017年第6期971-986,共16页
Program slicing is an effective technique for an- alyzing concurrent programs. However, when a conventional closure-based slicing algorithm for sequential programs is ap- plied to a concurrent interprocedural program,... Program slicing is an effective technique for an- alyzing concurrent programs. However, when a conventional closure-based slicing algorithm for sequential programs is ap- plied to a concurrent interprocedural program, the slice is usually imprecise owing to the intransitivity of interference dependence. Interference dependence arises when a state- ment uses a variable defined in another statement executed concurrently. In this study, we propose a global dependence analysis approach based on a program reachability graph, and construct a novel dependence graph called marking-statement dependence graph (MSDG), in which each vertex is a 2-tuple of program state and statement. In contrast to the conven- tional program dependence graph where the vertex is a state- ment, the dependence relation in MSDG is transitive. When traversing MSDG, a precise slice will be obtained. To en- hance the slicing efficiency without loss of precision, our slic- ing algorithm adopts a hybrid strategy. The procedures con- taining interaction statements between threads are inlined and sliced by the slicing algorithm based on program reachability graphs while allowing other procedures to be sliced as se- quential programs. We have implemented our algorithm and three other representative slicing algorithms, and conducted an empirical study on concurrent Java programs. The exper- imental results show that our algorithm computes more pre- cise slices than the other algorithms. Using partial-order re- duction techniques, which are effective for reducing the size of a program reachability graph without loss of precision, ouralgorithm is optimized, thereby improving its performance to some extent. 展开更多
关键词 program slicing concurrent programs reacha-bility analysis context sensitivity dependence analysis
原文传递
基于Petri网的并发程序测试用例产生方法 被引量:2
9
作者 霍敏霞 丁晓明 《计算机科学》 CSCD 北大核心 2011年第9期135-138,共4页
并发程序的测试路径具有不可预测性,而Petri网在描述并发方面具有其它系统模型无法比拟的优势。因此通过Petri网来产生并发程序的测试路径:对有并发程序的源代码构造的Petri网模型进行图形矩阵转换;按照一定的规则得出相应的独立段组;... 并发程序的测试路径具有不可预测性,而Petri网在描述并发方面具有其它系统模型无法比拟的优势。因此通过Petri网来产生并发程序的测试路径:对有并发程序的源代码构造的Petri网模型进行图形矩阵转换;按照一定的规则得出相应的独立段组;合并独立段组得出网的独立段群,此独立段群即为该并发程序的测试路径。实验证明,将Petri网用于并发程序测试用的例生成降低了测试难度,提高了测试效率。 展开更多
关键词 并发程序 PETRI网 独立段群
下载PDF
并发程序性质的时序分析
10
作者 贾国平 孟旭东 郑国梁 《计算机科学》 CSCD 北大核心 1998年第1期13-17,共5页
不同于顺序程序,并发程序并不能完全主简单的输入/输出关系采说明。
关键词 并发程序 时序分析 安全性
下载PDF
基于上下文定界的递归队列并发程序可达性分析 被引量:1
11
作者 钱俊彦 贾书贵 +1 位作者 赵岭忠 郭云川 《计算机学报》 EI CSCD 北大核心 2014年第12期2574-2585,共12页
基于无界FIFO消息队列的通信框架作为一种通用的并发系统模型,常用于事件驱动的并发程序或分布式程序建模.然而当模型包含递归过程调用时,即使仅考虑执行有限次上下文切换,其可达性问题仍是不可判定的.假定进程的消息队列约束为良序,即... 基于无界FIFO消息队列的通信框架作为一种通用的并发系统模型,常用于事件驱动的并发程序或分布式程序建模.然而当模型包含递归过程调用时,即使仅考虑执行有限次上下文切换,其可达性问题仍是不可判定的.假定进程的消息队列约束为良序,即仅当进程的局部栈为空时才能从队列中读取消息,则其在上下文切换定界上的可达性为可判定.文中以基于队列通信的递归并发程序为对象,研究其可达性问题.首先构造能模拟递归队列并发程序执行的多栈下推系统,并提出转换方法;然后给出一种基于多栈下推系统的上下文切换定界可达算法,算法使用标准Post*操作描述下推系统的迭代,基于良序排队控制进程对队列的出队操作,穷尽地计算k次上下文切换之内的正向可达格局,并证明了构造多栈下推系统方法和上下文切换定界可达算法的正确性;最后对目标状态集合与可达格局状态集合的交集进行判空,确定目标状态是否可达,从而较好地解决此类并发程序的可达性问题. 展开更多
关键词 上下文定界 良序排队 可达性 递归 并发程序
下载PDF
基于EE-CSPE约束的并发程序测试
12
作者 卢炎生 王静 +1 位作者 谢晓东 毛澄映 《小型微型计算机系统》 CSCD 北大核心 2007年第7期1240-1244,共5页
由于执行的不确定性,并发程序的测试需要验证程序执行的事件序列.定义事件之间的约束是验证事件序列合法性的前提.本文提出了一种事件约束的形式化描述方法,扩充了E-CSPE(extended constraints on succeeding and preceding events)对... 由于执行的不确定性,并发程序的测试需要验证程序执行的事件序列.定义事件之间的约束是验证事件序列合法性的前提.本文提出了一种事件约束的形式化描述方法,扩充了E-CSPE(extended constraints on succeeding and preceding events)对事件排斥约束和后决约束的定义,更全面地描述了前后事件的依赖关系,并给出了基于此方法的确定性测试和非确定性测试规则. 展开更多
关键词 软件测试 并发程序 事件约束CSPE
下载PDF
操作系统中的死锁检测 被引量:1
13
作者 张海鹏 李曦 《计算机系统应用》 2013年第10期14-18,共5页
本文提供了一种检测操作系统中死锁的方法.该方法包含三个步骤:(1)通过检测进程加锁与解锁是否匹配来获得锁的持有者;(2)从异常进程中筛选出锁的等待者;(3)通过检查锁的持有者与等待者是否会形成循环等待图来判定死锁.通过实验发现,该... 本文提供了一种检测操作系统中死锁的方法.该方法包含三个步骤:(1)通过检测进程加锁与解锁是否匹配来获得锁的持有者;(2)从异常进程中筛选出锁的等待者;(3)通过检查锁的持有者与等待者是否会形成循环等待图来判定死锁.通过实验发现,该方法对系统性能的影响小于1%,而且不需要修改内核源码和源程序. 展开更多
关键词 操作系统 死锁检测 并发程序 异常进程
下载PDF
并发程序切片原型系统的设计与实现 被引量:1
14
作者 徐晓晶 戚晓芳 《计算机科学与探索》 CSCD 2012年第3期257-266,共10页
并发程序切片是并发程序分析的一种重要手段。针对多线程共享变量通信机制,在通过程序分析工具CodeSurfer获取程序基本信息的基础上构造程序可达图,生成以程序状态和语句二元组为节点的并发程序依赖图,实现了基于程序可达图的并发程序... 并发程序切片是并发程序分析的一种重要手段。针对多线程共享变量通信机制,在通过程序分析工具CodeSurfer获取程序基本信息的基础上构造程序可达图,生成以程序状态和语句二元组为节点的并发程序依赖图,实现了基于程序可达图的并发程序切片原型系统。初步实验结果表明,与传统的切片方法相比,采用基于程序可达图的并发程序切片方法,可有效地解决依赖关系不可传递问题,获得高精度的并发程序切片。 展开更多
关键词 并发程序 原型系统 依赖性分析 程序切片
下载PDF
基于回放机制的并发程序中的错误重现方法
15
作者 罗清宙 《计算机工程与设计》 CSCD 北大核心 2010年第13期3029-3031,3035,共4页
为了帮助程序员检测并发程序中的错误,提出了一种重现错并发误场景的方法。使用对Java字节码插装的方法,生成记录和回放版本的程序。在记录程序运行时,自动记录下线程间执行的逻辑循序,同时在程序发生崩溃后自动生成测试用例,这些测试... 为了帮助程序员检测并发程序中的错误,提出了一种重现错并发误场景的方法。使用对Java字节码插装的方法,生成记录和回放版本的程序。在记录程序运行时,自动记录下线程间执行的逻辑循序,同时在程序发生崩溃后自动生成测试用例,这些测试用例运行在回放版本上具有确定性地重现并发错误的能力。实现了一个基于Java程序的原型工具,实验结果表明,该原型具有重现并发程序错误的能力,并且性能开销在一个可接受的范围内。 展开更多
关键词 并发程序 错误重现 确定性回放 字节码插装 测试
下载PDF
基于上下文敏感分析的数据竞争检测方法
16
作者 张杨 刘欢 张冬雯 《河北科技大学学报》 CAS 2020年第5期416-423,共8页
为了提高数据竞争检测过程的准确性,提出了一种基于上下文敏感分析的数据竞争检测方法。使用控制流分析构建上下文敏感的调用图,采用逃逸分析查找出可能发生数据竞争的线程逃逸对象,进行上下文敏感的别名分析以减少误报和漏报,通过发生... 为了提高数据竞争检测过程的准确性,提出了一种基于上下文敏感分析的数据竞争检测方法。使用控制流分析构建上下文敏感的调用图,采用逃逸分析查找出可能发生数据竞争的线程逃逸对象,进行上下文敏感的别名分析以减少误报和漏报,通过发生序关系判断消除由于忽略线程交互而导致的误报。依据该方法,在WALA软件分析框架实现了一个数据竞争检测工具ConRacer,并将该工具与现有的检测工具SRD和RVPredict进行了比较。结果表明,与SRD和RVPredict相比,ConRacer的检测准确度最高,不仅可以有效地检测数据竞争,而且可以降低检测过程中的误报和漏报。通过结合上下文敏感分析技术与传统的静态检测技术,ConRacer提高了检测过程的准确性,对发现并发错误和优化软件性能有一定的参考价值。 展开更多
关键词 并行处理 并发程序 数据竞争 上下文敏感 逃逸分析
下载PDF
时态逻辑与并发程序 被引量:3
17
作者 张广泉 戎玫 《重庆大学学报(自然科学版)》 EI CAS CSCD 1999年第1期47-50,115,共5页
分别阐述了基于MannaPnueli框架的命题线性时态逻辑PLTL和基于共享变量方式的并发程序(转换图)模型,并给出该模型与转换系统之间的对应关系;将时态逻辑与公平转换系统FTS相结合来描述并发程序及其性质(公平性... 分别阐述了基于MannaPnueli框架的命题线性时态逻辑PLTL和基于共享变量方式的并发程序(转换图)模型,并给出该模型与转换系统之间的对应关系;将时态逻辑与公平转换系统FTS相结合来描述并发程序及其性质(公平性、安全性及活性);指出了时态逻辑具备其它形式化方法(FSM、Petri网)所没有的一些优势。 展开更多
关键词 并发处理 时态逻辑 并发程序 公平转换系统
下载PDF
并发程序内部表示及静态切片算法的改进
18
作者 肖健宇 张德运 郑卫斌 《西安交通大学学报》 EI CAS CSCD 北大核心 2005年第12期1295-1298,1400,共5页
通过分析Krinke切片算法对程序循环体内嵌套一个或多个线程结构会产生切片不精确现象,得出Krinke算法所基于的程序依赖图对线程间数据的依赖关系定义得过于粗糙,且对并发程序执行行为的合法性约束不够严格的结果.据此,提出一种新的并发... 通过分析Krinke切片算法对程序循环体内嵌套一个或多个线程结构会产生切片不精确现象,得出Krinke算法所基于的程序依赖图对线程间数据的依赖关系定义得过于粗糙,且对并发程序执行行为的合法性约束不够严格的结果.据此,提出一种新的并发程序依赖图,引入跨线程边界循环-承载数据依赖关系,并在此数据结构上改进了切片算法;引入区域化执行证据概念,进一步约束程序执行行为的合法性,并给出了添加跨线程边界循环-承载数据依赖关系的算法及新的并发程序切片算法的伪代码.实例分析与算法性能测试表明,改进的切片算法克服了Krinke算法的不精确现象,降低了时间开销,改善了算法的可伸缩性. 展开更多
关键词 并发程序 程序依赖图 循环-承载数据依赖 区域化执行证据
下载PDF
基于深度学习的数据竞争检测方法
19
作者 张杨 乔柳 +1 位作者 东春浩 高鸿斌 《计算机研究与发展》 EI CSCD 北大核心 2022年第9期1914-1928,共15页
针对目前已有的基于深度学习的数据竞争检测方法提取特征单一和准确率低的问题,提出一种基于深度学习的数据竞争检测方法DeleRace,该方法首先利用程序静态分析工具WALA从多个实际应用程序中提取指令、方法和文件等多个级别的特征,对其... 针对目前已有的基于深度学习的数据竞争检测方法提取特征单一和准确率低的问题,提出一种基于深度学习的数据竞争检测方法DeleRace,该方法首先利用程序静态分析工具WALA从多个实际应用程序中提取指令、方法和文件等多个级别的特征,对其向量化并构造训练样本数据;然后通过ConRacer工具对真实数据竞争进行判定进而标记样本数据,采用SMOTE增强算法使正负数据样本分布均衡化;最后构建并训练CNN-LSTM深度神经网络进行数据竞争检测.从DaCapo,JGF,IBM Contest,PJBench基准测试程序套件中分别选取26个不同应用领域的基准测试程序进行训练数据样本抽取和数据竞争检测,结果表明DeleRace的数据竞争检测准确率为96.79%,与目前已有的基于深度学习的检测方法DeepRace相比提升了4.65%.此外还将DeleRace与已有的动态数据竞争检测工具(Said和RVPredict)和静态数据竞争检测工具(SRD和ConRacer)进行比较,验证了DeleRace的有效性. 展开更多
关键词 数据竞争 并发程序 深度学习 特征抽取 CNN-LSTM模型
下载PDF
并发错误动态检测方法
20
作者 付修锋 邢彦 陈丽容 《计算机工程与设计》 北大核心 2016年第3期670-674,共5页
针对并发程序路径分支多、状态空间大导致并发错误检测时间长且效率低下的问题,在动态偏序化简算法的理论基础上,提出一种分布式的并发错误动态检测方法。该方法包括一个负载均衡节点和若干个计算节点,分别运行负载均衡算法和分布式动... 针对并发程序路径分支多、状态空间大导致并发错误检测时间长且效率低下的问题,在动态偏序化简算法的理论基础上,提出一种分布式的并发错误动态检测方法。该方法包括一个负载均衡节点和若干个计算节点,分别运行负载均衡算法和分布式动态偏序化简算法,依靠分布式系统强大的计算能力,提高并发错误检测的效率。实验结果表明,相对于动态偏序化简算法,该方法极大地缩短了并发错误的检测时间。 展开更多
关键词 并发程序 分布式系统 动态偏序化简 负载均衡 回溯集
下载PDF
上一页 1 2 下一页 到第
使用帮助 返回顶部