首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 125 毫秒
1.
王东 《现代计算机》2023,(11):38-42
软件度量是软件开发的健壮性和可维护性的主要方法。软件度量可有效降低软件设计过程中的复杂性。为保证软件系统的可测试性,在软件开发过程中采用可测试性指标,确保软件的可维护性,也是软件质量保证的一个有效手段。该研究内容包括的问题涉及静态代码、测试度量、可测试性和测试用例有效性四者之间的关系。分析结果表明,大小和复杂性指标适用于预测面向对象类的可测试性。  相似文献   

2.
模拟电路的可测试性度量是指导其进行可测试性设计的基础,针对目前非线性模拟电路可测试性分析过程复杂,无法量化的问题,在深入研究模拟电路可测试性度量和非线性模拟电路特性的基础上,利用分段线性方法将非线性模拟电路近似等效为线性模拟电路,并给出了非线性模拟电路可测试性度量的计算方法,极大拓宽了可测试性度量的应用范围;最后通过实例详细讲解了计算过程,并利用模拟电路可测试性度量的定义验证了该结果的有效性,该方法计算量小,不受容差影响,对非线性模拟电路可测试性研究具有一定的指导意义。  相似文献   

3.
软构件的可测试性研究   总被引:1,自引:0,他引:1  
构件的可测试性是决定构件质量的关键因素,若能在构件设计阶段就考虑构件的可测试性问题,改善和提高构件的可测试性,那么构件质量就能得到很好的保障,进而减少系统开发时的测试成本。文中针对这个问题,讨论了影响构件可测试性的几个因素,分析了构件测试中存在的问题和构件测试要达到的目标,提出一种构造可测试性构件的通用体系结构,即在原有构件的基础上增加测试工具,把可测试性构件当作对包含嵌入式测试和跟踪工具的扩展单元。  相似文献   

4.
薛静  白永强 《计算机工程》2004,30(15):169-171
介绍了可测试性设计的一般方法,着重讨论了NDSP25数字信号处理器芯片核的可测试性设计策略,以及可测试性设计的实现,并对可测试性设计的结果进行了统计和分析。  相似文献   

5.
伴随着高层次综合技术的普及和深入,高层次可测试性综合技术引起了广泛的关注。在简单介绍当前可测试性综合技术的现状后,提出了采用“VHDL进,VHDL出”的方式进行行为级可测试性综合的流程,并提出了一个新的行为级可测试性分析算法,然后讨论了测试点的选择、可测试结构的规范化描述和自动插入的技术与方法。  相似文献   

6.
为了降低面向对象软件的测试复杂性,降低测试的成本,提高软件质量,在目前软件可测试性研究的基础上,提出了将圈复杂度和UML类图转化而来的类依赖关系图(CDG图)结合起来,分析和度量类之间相互关系的复杂性,以此来指导可测试性的改善以及开发和测试的设计.最后通过实例表明,该方法可以指导软件的设计,提高软件的可测试性,从而降低...  相似文献   

7.
软构件的可测试性研究   总被引:1,自引:0,他引:1  
白雪  宋雨  韩秀娟  剧树春 《微机发展》2006,16(1):106-107
构件的可测试性是决定构件质量的关键因素,若能在构件设计阶段就考虑构件的可测试性问题,改善和提高构件的可测试性,那么构件质量就能得到很好的保障,进而减少系统开发时的测试成本。文中针对这个问题,讨论了影响构件可测试性的几个因素,分析了构件测试中存在的问题和构件测试要达到的目标,提出一种构造可测试性构件的通用体系结构,即在原有构件的基础上增加测试工具,把可测试性构件当作对包含嵌入式测试和跟踪工具的扩展单元。  相似文献   

8.
CMOS器件进入深亚微米阶段,VLSI集成电路(IC)继续向高集成度,高速度,低功耗发展,使得IC在制造、设计、封装,测试上都面临新的挑战,测试已从IC设计流程的后端移至前端,VLSI芯片可测试性设计已成为IC设计中必不可少的一部分,本文介绍近几年来VLSI芯片可测试性设计的趋势,提出广义可测试性设计(TDMS技术)概念,即可测试试性,可调试性,可制造性和可维护性设计,并对可调试性设计方法学和广义可测试性设计的系统化方法作了简单介绍。  相似文献   

9.
软件的可测试性设计   总被引:8,自引:0,他引:8  
软件产品开发规模的扩大和数量的增长迫切需要找到一种方法来增加软件测试的有效性。可测试性设计可以增强软件的可测试性,降低测试的强度。该文讨论了软件可测试性的特征和影响软件测试的因素,以及改进软件可测试性设计的几种方法。建议在软件开发的整个周期中融入软件的可测试性的设计。  相似文献   

10.
空间应用领域不断拓展使得空间有效载荷数据管理与传输越来越复杂,对空间数据总线的可靠性、测试的有效性提出更高要求。针对数据总线的可测试性现状及以太网的空间应用情况,提出空间有效载荷以太网数据总线测试性设计要求,基于FMECA及多信号模型对空间以太网数据总线进行可测试性分析,设计。通过搭建空间以太网仿真平台对可测试性设计进行验证。结果表明:设计达到可测试性要求,加入可测试性设计后对系统的性能影响较小,对空间数据总线的测试性设计具有实际的指导意义。  相似文献   

11.
We present a coverage metric targeted at shared-memory concurrent programs: the Location Pairs (LP) coverage metric. The goals of this metric are (i) to measure how thoroughly a program has been tested from a concurrency standpoint, i.e., whether enough qualitatively different thread interleavings have been explored, and (ii) to guide testing towards unexplored concurrency scenarios. This metric was inspired by an access pattern known to lead to high-level concurrency errors in industrial software and in the literature. We built a monitoring tool to measure LP coverage of test programs. We used the LP metric for interactive debugging, and compared LP coverage with other concurrency coverage metrics on Java benchmarks. We demonstrated that LP coverage corresponds better to concurrency errors, is a better measure of how well a program is exercised concurrency-wise by a test set, reaches saturation later than other coverage metrics, and is viable and useful as an interactive testing and debugging tool.  相似文献   

12.
当前并发程序容错机制处理方式单一、效率较低。为此,提出一种适用于多种并发程序错误处理的容错机制。通过在编译及运行过程中对程序进行异常处理,并在异常发生时根据设置的检查点对程序进行回滚和防错误处理,以实现并发程序容错。实验结果表明,该容错机制可有效检测并发程序中的错误,在不增加程序总体运行时间的情况下达到比较理想的容错效果。  相似文献   

13.
Qadeer首次针对并发下推系统提出一种有界可达算法,通过限定上下文切换的次数使得算法可终止,可有效地分析过程间并发程序。但是并发下推系统以全局变量模拟同步,不适应于当前广泛使用的基于事件驱动的并发程序。针对通信下推系统,提出一种基于双重调度的有界可达算法,通过限定同步调度的次数,结合线程间的同步调度和线程内的路径调度解决通信下推系统的可达性问题,从而为事件驱动的过程间并发程序分析提供了算法基础。  相似文献   

14.
Concurrency constructs are widely used when developing complex software such as real-time, networking and multithreaded client–server applications. Consequently, testing a program, which includes concurrency constructs is a very elaborate and complex process. In this work, we first identify the different classes of synchronization anomalies that may occur in concurrent Java programs. We then consider testing concurrent Java programs against synchronization anomalies using dynamic data flow analysis techniques. Moreover, we show how the data flow analysis technique can be extended to detect such anomalies.  相似文献   

15.
ContextNowadays concurrent programming is in large demand. The inherent support for concurrency is therefore increasingly important in programming languages. As for C++, an abundance of standard concurrency constructs have been supported since C++11. However, to date there is little work investigating how these constructs are actually used in developing real software.ObjectiveIn this paper, we perform an extensive empirical study to investigate the actual adoption of C++ concurrency constructs in open-source applications, with the goal to provide useful information for language designers and practitioners to improve the design and use of concurrency constructs.MethodWe first conduct a survey to understand the developers’ perception of concurrency constructs. Then, we analyze 492 open-source concurrent applications, comprising 131 million lines of C++ code, to collect the data of the practical adoption of concurrency constructs. Finally, we perform statistical analysis on the collected data and get the quantitative analysis results.ResultsUsing the experimental data, we uncover many interesting findings with respect to the usage of concurrency constructs, the management of synchronization, the relationship between standard concurrency constructs and third-party concurrency constructs, and the difference of applications in using concurrency constructs. For example, we find that: (1) thread-based constructs are significantly more often used to write concurrent programs than atomics-based constructs and task-based constructs; (2) lock-based constructs are significantly more often used to manage synchronization than lock-free constructs and blocking constructs; (3) developers in most projects do not move from third-party concurrency constructs to standard concurrency constructs; and (4) small-size applications introduce concurrency constructs more intensively and more quickly than medium-size applications and large-size applications.ConclusionsThis is the first extensive empirical study on C++ concurrency constructs. The results of this paper should be helpful for designing, teaching, and using C++ concurrency constructs.  相似文献   

16.
Structural testing of concurrent programs   总被引:1,自引:0,他引:1  
Although structural testing techniques are among the weakest available with regard to developing confidence in sequential programs, they are not without merit. The authors extend the notion of structural testing criteria to concurrent programs and propose a hierarchy of supporting structural testing techniques. Coverage criteria described include concurrency state coverage, state transition coverage and synchronization coverage. Requisite support tools include a static concurrency analyzer and either a program transformation system or a powerful run-time monitor. Also helpful is a controllable run-time scheduler. The techniques proposed are suitable for Ada or CSP-like languages. Best results are obtained for programs having only static naming of tasking objects  相似文献   

17.
在多核时代,为了发挥多核处理器最大性能,软件维护人员的一个重要任务是对代码进行面向并发重构,即将顺序代码重构为并发代码和将并发代码重构更优为并发代码。针对C++语言的三种并发设施:POSIX Pthread、Open MP、C++0x并发库,详细阐述了C++面向并发重构的三类重构模式,以及每种模式的重构方法。  相似文献   

18.
Algorithms are presented for detecting errors and anomalies in programs which use synchronization constructs to implement concurrency. The algorithms employ data flow analysis techniques. First used in compiler object code optimization, the techniques have more recently been used in the detection of variable usage errors in dngle process programs. By adapting these existing algorithms, the sane classes of variable usage errors can be detected in concurrent process programs. Important classes of errors unique to concurrent process programs are also described, and algorithms for their detection are presented.  相似文献   

19.
并发程序与并发系统可以拥有非常高的执行效率和相对串行系统较快的响应速度,在现实中有着非常广泛的应用。但是并发程序与并发系统往往难以保证其实现的正确性,实际应用程序运行中的错误会带来严重的后果。同时,并发程序执行时的不确定性会给其正确性验证带来巨大的困难。在形式化验证方法中,人们可以通过交互式定理证明器严格地对并发程序进行验证。本文对在交互式定理证明中可用于描述并发程序正确性的验证目标进行总结,它们包括霍尔三元组、可线性化、上下文精化和逻辑原子性。交互式定理证明方法中常用程序逻辑对程序进行验证,本文分析了基于并发分离逻辑、依赖保证逻辑、关系霍尔逻辑等理论研究的系列成果与相应形式化方案,并对使用了这些方法的程序验证工具和程序验证成果进行了总结。  相似文献   

20.
传统的语法信息流分析方法均基于实施机密性安全策略的信息流格模型,而格关系的传递特性使得该方法不能用来分析实施无传递性安全策略的系统的安全性。提出一种新的标识隐蔽信息流的语法信息流分析方法,该方法对实施具有传递性和无传递性安全策略的系统均适用。将信息流语义附加在每条语句之后,定义一种称为信息流时序图的图结构来刻画信息流发生的时序关系,给出了基于源程序的信息流时序图的构造方法,提出了一种基于时序图的隐蔽信息流的标识算法。另外,针对并发程序的并发特性,提出了一种简化信息流时序图的方法,在该方法下只要考虑并发进程之间特定的交互次序即可,而不需要考虑所有可能的交互方式。  相似文献   

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

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

京公网安备 11010802026262号