首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 187 毫秒
1.
针对多线程程序数据竞争分析与检测困难的问题,提出一种基于隐Markov 模型的多线程程序时序分析方法.用随机变量不确定性刻画不同线程之间时序上的交互关系,分析数据竞争条件下程序不确定结果的概率分布情况;建立多线程程序时序分析的隐Markov 模型,使用Baum-Welch 和前向算法仿真上下文对程序实际运行状态的影响.实验结果表明,该模型能够快速有效反映多线程执行时序,用于指导多线程程序时序竞争检测过程.  相似文献   

2.
数据竞争是多线程程序最为常见的问题之一。由于线程交织导致状态空间爆炸,多线程程序数据竞争引起的错误检测难度大、成本高、精度低;此外,即使检测到数据竞争,由于线程调度难以控制、执行过程难以复现,错误难以复现和定位。提出了一种多线程程序数据竞争检测与证据生成方法,基于程序语义分析和执行过程监测,构建程序的执行路径约束模型和数据竞争条件,将多线程程序数据竞争检测问题转化为约束求解问题,降低检测难度,提高检测精度;利用SMT求解器计算可能的数据竞争,并生成触发该数据竞争的程序执行序列,协助程序员定位和验证错误。实验中对10个程序进行了测试,相比现有数据竞争检测工具threadsanitizer和helgrind,本方法检测出的数据竞争多出287.5%和264.7%,且没有误报,而其他方法平均误报率为10.5%和9.8%。  相似文献   

3.
孙全  许蕾  夏昕濛  张卫丰 《软件学报》2019,30(11):3281-3296
安卓系统在移动端操作系统始终占据主导地位,在增强用户体验和提高程序性能的同时,其特有的事件驱动模型和多线程模型也造成了并发缺陷.并发程序中,线程调度的不确定性和难以再现性是并发缺陷检测困难的原因.现有技术主要在动态生成执行路径的基础上进行发生序(happens-before)分析,进而检测安卓应用的并发缺陷,但仍然存在低覆盖率、误报、漏报等问题.结合共享变量分析和约束求解方法实现了安卓应用数据竞争的检测,并实现了检测工具RaceDetector.该工具首先根据安卓系统的特性和数据竞争的定义,通过静态分析抽取相关信息,并进一步使用安卓共享变量分析来提高准确性和性能,继而进行可疑数据竞争分析,得出可疑的数据竞争集合;接着根据每一个可疑的数据竞争候选者,通过约束求解的方法在所有事件调度和线程调度解空间下识别发生序关系,并最终检测出真正的数据竞争.实验部分是从Google Play等来源收集了15个流行的应用APK文件作为数据集,RaceDetector平均报告了340个数据竞争,误报率为13%(44/340).与现有工具EventRacer(默认产生300随机事件触发应用执行,平均检测2个有害数据竞争)相比,RaceDetector能够解析全部源码,覆盖了所有线程调度和事件调度,平均检测出15个有害数据竞争.  相似文献   

4.
随着多核技术越来越普及,多线程程序的编程也越来越流行。但是多线程程序的正确性问题已经严重影响软件可靠性,且现有的测试技术不能很好地满足多线程程序的需求。本文重点研究多线程程序中最常见的一种bug,即数据竞争,提出一种基于线程调度顺序控制的测试方法。该方法混合静态方法和动态方法,能够有效地找到多线程程序中存在的数据竞争,且能够区分出哪些数据竞争是有害的,需要程序员优先修复。实验结果显示,对于数据竞争的触发概率,本文的方法使其平均从0.53%提高到79.2%,且本文所引入的运行时开销平均只有80%,与相关方法所引入370%的开销相比更优。  相似文献   

5.
线程处理使C#程序能够执行并发处理,以便可以同时执行多个操作。描述了线程状态,阐述了利用C#进行程序设计时线程同步数据处理的几种方式:使用监视器来同步变量的访问、使用事件来同步线程和使用Mutex同步多个对象并避免锁死,多线程同步数据处理方法能避免多线程数据处理时出现的线程同步错误.  相似文献   

6.
并发Java程序同步操作的有效删除   总被引:2,自引:0,他引:2  
吴萍  陈意云  张健 《软件学报》2005,16(10):1708-1716
同步操作是并发Java程序非常大的一部分开销.在现有程序分析方法的基础上,提出了一种精确而有效的冗余同步操作的静态删除方法.该方法分为基本处理和线程间时序分析两个阶段,充分考虑了控制流结构和线程交互时序对同步删除的影响.构造了一个Java编译器JTool,并在其上实现了同步删除算法.对于确定的单线程程序,同步删除率达到100%;对于多线程程序,同步删除率高于现有的分析工具.  相似文献   

7.
Android应用是一种事件驱动的并发程序。后台线程与异步事件执行顺序的不确定,导致数据竞争在Android应用中普遍存在。现有的针对Android应用的竞争检测工具会产生大量误报,且不能确定地重现竞争。针对以上问题,在现有的竞争检测结果的基础上,提出了一种基于测试用例生成的Android应用数据竞争验证方法。该方法首先构建应用的状态转化图,并基于状态转化图和现有竞争检测工具的检测结果自动生成包含潜在数据竞争的测试用例,然后在测试用例执行的过程中通过控制事件分发和线程的执行顺序来暴露竞争,观察竞争是否会引起程序异常。实验结果表明,该方法能有效地重现数据竞争引起的并发错误,并指出检测结果中的误报。  相似文献   

8.
并发程序中时序的不确定性导致的错误很难被检测.本文介绍了一种基于并发错误模式的多线程动态测试方法,通过在并发事件处插入线程时序改变探针,发现并发错误.本文首先介绍了出现在并发程序中的几种常见的错误模式,接着根据错误模式介绍插装策略.  相似文献   

9.
设计了基于工控机和高速模入板卡的数据采集系统,介绍了Windows多任务多线程环境下,高速同步采集数据、存储与处理数据的软件设计方法。根据系统的特点,采用半满中断方式实现数据采集传输;多线程技术使数据采集与数据处理相独立,提高了数据吞吐量和计算机的整体处理能力;缓冲队列实现了高速连续存盘而不丢点;动态虚拟技术实现线程高优先级工作。用这些方法开发出的软件已成功应用于风机的故障检测中,并取得了良好的效果。  相似文献   

10.
Windows环境下高速数据采集系统软件设计   总被引:2,自引:0,他引:2  
设计了基于工控机和高速模入板卡的数据采集系统,介绍了Windows多任务多线程环境下,高速同步采集数据、存储与处理数据的软件设计方法.根据系统的特点,采用半满中断方式实现数据采集传输;多线程技术使数据采集与数据处理相独立,提高了数据吞吐量和计算机的整体处理能力;缓冲队列实现了高速连续存盘而不丢点;动态虚拟技术实现线程高优先级工作.用这些方法开发出的软件已成功应用于风机的故障检测中,并取得了良好的效果.  相似文献   

11.
This paper presents the optimization of a fuzzy edge detector based on the traditional Sobel technique combined with interval type-2 fuzzy logic. The goal of using interval type-2 fuzzy logic in edge detection methods is to provide them with the ability to handle uncertainty in processing real world images. However, the optimal design of fuzzy systems is a difficult task and for this reason the use of meta-heuristic optimization techniques is also considered in this paper. For the optimization of the fuzzy inference systems, the Cuckoo Search (CS) and Genetic Algorithms (GAs) are applied. Simulation results show that using an optimal interval type-2 fuzzy system in conjunction with the Sobel technique provides a powerful edge detection method that outperforms its type-1 counterparts and the pure original Sobel technique.  相似文献   

12.
Evolutionary algorithms are one of the most common choices reported in the literature for the tuning of fuzzy logic controllers based on either type-1 or type-2 fuzzy systems. An alternative to evolutionary algorithms is the simple tuning algorithm (STA-FLC), which is a methodology designed to improve the response of type-1 fuzzy logic controllers in a practical, intuitive and simple ways. This paper presents an extension of the simple tuning algorithm for fuzzy logic controllers based on the theory of type-2 fuzzy systems by using a parallel model implementation, it also includes a mechanism to calculate the feedback gain, new integral criteria parameters, and the effect of the AND/OR operator combinations on the fuzzy rules to improve the algorithm applicability and performance. All these improvements are demonstrated with experiments applied to different types of plants.  相似文献   

13.
In this paper, a hybrid approach for image recognition combining type-2 fuzzy logic, modular neural networks and the Sugeno integral is described. Interval type-2 fuzzy inference systems are used to perform edge detection and to calculate fuzzy densities for the decision process. A type-2 fuzzy system is used for edge detection, which is a pre-processing applied to the training data for better use in the neural networks. Another type-2 fuzzy system calculates the fuzzy densities necessary for the Sugeno integral, which is used to integrate results of the neural network modules. In this case, fuzzy logic is shown to be a good methodology to improve the results of a neural system facilitating the representation of the human perception. A comparative study is also made to verify that the proposed approach is better than existing approaches and improves the performance over type-1 fuzzy logic.  相似文献   

14.
数据竞争是多线程程序的常见漏洞之一,传统的数据竞争分析方法在查全率和准确率方面难以两全,而且所生成检测报告难以定位漏洞的根源.鉴于Petri网在并发系统建模和分析方面具有行为描述精确、分析工具丰富的优点,提出一种基于Petri网展开的新型数据竞争检测方法.首先,对程序的某一运行轨迹进行分析和挖掘,构建程序的一个Petri网模型,它由单一轨迹挖掘得到,却可隐含程序的多个不同运行轨迹,由此可在保证效率的同时降低传统动态分析方法的漏报率;其次,提出基于Petri网展开的潜在数据竞争检测方法,相比静态分析方法在有效性上有较大提升,而且能明确给出数据竞争的产生路径;最后,对上一阶段检测到的潜在数据竞争,给出基于CalFuzzer平台的潜在死锁重演调度方法,可剔除误报,保证数据竞争检测结果的真实性.开发相应的原型系统,结合公开的程序实例验证了所提方法的有效性.  相似文献   

15.
以对二进制程序进行自动化缺陷发现为目标, 基于软件虚拟机的动态二进制翻译机制和污点传播机制, 对符号计算需要关注的程序运行时语义信息提取、中间语言符号计算等机制进行了研究, 改进了传统动态符号执行的路径调度部分, 分析了程序缺陷的符号断言表达形式, 构建了一个在线式的动态符号执行系统检测二进制程序中的缺陷。实验验证了该方法在实际程序缺陷发现中的有效性。  相似文献   

16.
Interval type-2 fuzzy inverse controller design in nonlinear IMC structure   总被引:1,自引:0,他引:1  
In the recent years it has been demonstrated that type-2 fuzzy logic systems are more effective in modeling and control of complex nonlinear systems compared to type-1 fuzzy logic systems. An inverse controller based on type-2 fuzzy model can be proposed since inverse model controllers provide an efficient way to control nonlinear processes. Even though various fuzzy inversion methods have been devised for type-1 fuzzy logic systems up to now, there does not exist any method for type-2 fuzzy logic systems. In this study, a systematic method has been proposed to form the inverse of the interval type-2 Takagi-Sugeno fuzzy model based on a pure analytical method. The calculation of inverse model is done based on simple manipulations of the antecedent and consequence parts of the fuzzy model. Moreover, the type-2 fuzzy model and its inverse as the primary controller are embedded into a nonlinear internal model control structure to provide an effective and robust control performance. Finally, the proposed control scheme has been implemented on an experimental pH neutralization process where the beneficial sides are shown clearly.  相似文献   

17.
广义二型模糊逻辑系统在近年来成为学术研究的热点问题,而降型是该系统中的核心模块。最近的研究证明了连续Nie-Tan(CNT)算法是计算区间二型模糊集质心的准确方法。发现了离散Nie-Tan(NT)算法中的求和运算和CNT算法中的求积分运算的内在联系,用2类算法完成基于广义二型模糊集α-平面表达理论的广义二型模糊逻辑系统质心降型。3个计算机仿真实验表明,当适当增加主变量采样点个数时,所提出的基于主变量采样的离散NT算法计算出的广义二型模糊逻辑系统质心降型集和解模糊化值结果可以精确地逼近基准的CNT算法,且采样离散NT算法的计算效率远远高于CNT算法的效率。  相似文献   

18.
多线程并发程序的广泛使用引发了更多的数据竞争问题,竞争检测对于提高软件质量具有重要意义。将竞争静态检测和静态切片分析结合起来,提出了一种基于类的Java数据竞争静态检测算法,该算法利用函数调用层次获得函数调用链,对类域进行分析,找出可能数据竞争,通过静态切片缩小程序分析范围,并结合数据竞争的必要条件,去掉不可能数据竞争。实例表明,该算法可用于指导修复程序中的竞争缺陷。  相似文献   

19.
Ⅱ型模糊集合是传统Ⅰ型模糊集合的扩展,其本质是模糊集合中隶属度值的再次模糊化表示.Ⅱ型模糊集合可以直接处理模糊规则的不确定性,是解决现实环境高不确定性问题的有效手段.本文首先简要给出了Ⅱ型模糊集合与系统的基本概念,然后分别回顾了广义和区间Ⅱ型模糊理论的发展历史.接着分别讨论了广义和区间Ⅱ型模糊系统的计算复杂性问题研究进展,并进一步介绍了基于区间Ⅱ型模糊集合的词计算理论发展状况.最后给出了本文的结论和进一步研究问题的展望.  相似文献   

20.
针对传统电力变压器故障检测方法对电力系统中潜藏的故障问题检测水平不足,准确率较低,无法及时准确的发现异常隐患等问题,提出基于贝叶斯网络的变压器局部放电故障检测方法;首先通过传感器获取电力变压器不同状态下运行过程中的参数数据,对局部放电故障发生的概率和范围进行合理性评估,提取评估概率数据综合为样本数据集,构建贝叶斯网络故障树;根据逻辑规则转化为贝叶斯网络,推演计算故障节点之间的算例关系,利用贝叶斯原理抽取故障特征指标与异常概率之间的关联关系,利用模糊描述方法构建故障特征关联函数,计算可得故障特征模糊函数动态变化关系,实现对变压器故障发生的概率与位置信息的判断与确定;实验结果表明,利用贝叶斯网络对电力变压器局部放电故障检测准确率达到85%以上,最高可达96%,说明该方法具有较高的检测准确率,能够有效提高电力变压器放电故障检测的有效性。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

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