首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 125 毫秒
1.
为了达到运用切片技术对构件模型进行状态空间压缩的目的,在构件之间接口的交互关系的基础上,提出了用测试驱动节点和扩展的构件节点建立构件系统的功能依赖图的具体方法和步骤,并通过基于模型检验的接口变异测试方法对三角形问题的Java Bean构件在切片前后的模型分别进行了测试。实验结果表明,该方法能够有效地压缩系统的状态空间,提高测试效率,同时也保证了对构件接口测试的全面性和正确性。  相似文献   

2.
对于构件使用者来说,源代码的不可得性决定了测试构件需要从构件的接口层面上进行。文章首先介绍了变异测试和遗传算法的概念;接着将遗传算法运用到构件接口变异上,通过变异测试过程获取有效而充分的测试用例,进而对构件进行测试;最后通过一个实例验证这种测试策略。  相似文献   

3.
面向体系结构的构件接口模型及其形式化规约   总被引:1,自引:0,他引:1  
借鉴软件体系结构的思想,提出了面向体系结构的构件接口模型,它既能表达体系结构设计的高层抽象构件,又能表达底层代码级别的实现构件。同时基于该模型,运用顺序通信进程,提出了两级构件接口行为协议规约方法,能够有效规约大粒度复杂软件构件的行为交互协议。  相似文献   

4.
为了验证Web应用的质量,首次采用了基于交际接口及其工具TICC的建筑智能化系统Web应用验证方法,通过一个简单的能源管理Web应用系统实例说明了整个建模、构件模块组合验证和系统性质验证过程.结果表明验证能够顺利实现,因而该方法是一种合适的Web应用验证方法.  相似文献   

5.
在传统的组件接口变异测试方法基础上,提出一种基于XML API的组件扩展接口变异测试方法.首先给出组件扩展接口测试的框架,建立起扩展接口的定义模型.XML API在组件内部建立处理数据集的XML校验器,实现了原组件接口的扩展.借助组件外部的XML Schema变异算子,完成了组件内部数据集的自动验证和组件接口参数的测试.该方法具有多种优点,例如可视的多功能测试接口、可跨平台的通用性的测试语言等.实验表明,该方法可以应用于COM,CORBA,EJB等多种组件的测试环境.  相似文献   

6.
7.
模型检验输出的反例提供了一种自动产生测试用例的有效途径。提出了一种用模型检验进行构件数据流测试的方法。利用构件状态机描述构件的外部行为,用带有变量定义和使用标记的Kripke结构描述构件状态迁移中的数据流信息;给出了从构件状态机到Kripke结构的转换方法,并建立了全定义覆盖和全使用覆盖准则的陷阱性质构造公式。陷阱性质将使模型检验器NuSMV输出反例,从而产生构件的数据流测试序列。  相似文献   

8.
刘阳  李宣东  马艳 《软件学报》2015,26(8):1853-1870
随机模型检验是经典模型检验理论的延伸和推广,由于其结合了经典模型检验算法和线性方程组求解或线性规划算法等,并且运算处理的是关于状态的概率向量而非经典模型检验中的位向量,所以状态爆炸问题在随机模型检验中更为严重.抽象作为缓解状态空间爆炸问题的重要技术之一,已经开始被应用到随机模型检验领域并取得了一定的进展.以面向随机模型检验的模型抽象技术为研究对象,首先给出了模型抽象技术的问题描述,然后按抽象模型构造技术分类归纳了其研究方向及目前的研究进展,最后对比了目前的模型抽象技术及其关系,总结出其还未能给出模型抽象问题的满意答案,并指出了有效解决模型抽象问题未来的研究方向.  相似文献   

9.
杨红  洪玫  屈媛媛 《计算机科学》2018,45(Z11):488-493
为了进行基于模型的软件测试变异分析,文中提出了一种基于模型检测的变异测试用例生成方法。基于模型检测工具UPPAAL的形式化分析与测试框架,首先用符合规范的时间自动机模型描述被测系统;然后基于时间自动机模型的基本结构和语法,对系统模型进行一组变异操作,并模拟实现时可能出现的一些错误;对变异后的模型分别使用UPPAAL Yggdrasil工具,生成一组能覆盖变异区域的测试用例;在系统变异模型上执行生成的测试用例,根据测试执行结果(是否能“杀死”变异体)筛选出一组有效的测试用例。通过实例验证,所提方案生成的测试用例是有效的,且测试用例集变异分数优于现有的基于状态机复制的变异测试用例自动生成方法和基于模型中变换覆盖的变异测试用例生成方法。  相似文献   

10.
经过对大量设备的接口测试软件调查研究,发现现有的测试软件大多都是采用传统的软件开发方法且只针对某个具体设备开发,软件可复用度低、可扩展性差;针对此问题,基于构件思想对接口测试软件框架进行设计,研究了构件的适配和组装机制,对构件适配逻辑和组装逻辑进行了规范,设计了构件的组装框架和运行框架,并在.NET平台下进行了实现;用户可以方便地通过调整、修改、添加、删除构件之间的连接关系就可以实现对不同设备接口的测试,以避免对只是存在一点差异的不同设备就不得不重新开发一套测试系统,节约了大量的开发费用,系统具有复用度高、易扩展等特点。  相似文献   

11.
为了提高性能,Java内存模型允许编译器在优化过程中改变代码的执行顺序,同时该技术也会造成共享数据的更新顺序与本来的执行顺序不同。在多线程Java并发程序中,这些代码乱序执行会引起很多难以发现的错误。现有的Java程序模型检测技术并没有考虑这些顺序改变的问题。因此,本文提出了一种建立包含多线程交互及线程内代码乱序执行的完整模型,并利用模型检测工具进行穷举检测的算法。该算法可以发现原有技术无法发现的新问题,更好地检测高可靠性要求的Java并发程序。  相似文献   

12.
构件复用是提高软件开发效率的有效途径,构件测试是保证构件质量的重要手段。针对目前构件测试的现状,对构件测试进行了深入研究,提出了一种合约检查的构件测试方法,将Bertrand Meyer的合约概念引入到构件设计开发测试过程中,从构件开发者和复用者的角度分析构件及构件的测试,违反构件合约时抛出异常信息,快速定位异常位置,提高软件开发的效率。  相似文献   

13.
Model Checking Programs   总被引:10,自引:0,他引:10  
The majority of work carried out in the formal methods community throughout the last three decades has (for good reasons) been devoted to special languages designed to make it easier to experiment with mechanized formal methods such as theorem provers, proof checkers and model checkers. In this paper we will attempt to give convincing arguments for why we believe it is time for the formal methods community to shift some of its attention towards the analysis of programs written in modern programming languages. In keeping with this philosophy we have developed a verification and testing environment for Java, called Java PathFinder (JPF), which integrates model checking, program analysis and testing. Part of this work has consisted of building a new Java Virtual Machine that interprets Java bytecode. JPF uses state compression to handle big states, and partial order and symmetry reduction, slicing, abstraction, and runtime analysis techniques to reduce the state space. JPF has been applied to a real-time avionics operating system developed at Honeywell, illustrating an intricate error, and to a model of a spacecraft controller, illustrating the combination of abstraction, runtime analysis, and slicing with model checking.  相似文献   

14.
The paper reports on the foundations and experimental results with a model checker for component connectors modelled by networks of channels in the calculus Reo. The specification formalisms is a branching time logic that allows to reason about the coordination principles of and the data flow in the network. The underlying model checking algorithm relies on variants of standard automata-based approaches and model checking for CTL-like logics. The implementation uses a symbolic representation of the network and the enabled I/O-operations by means of binary decision diagrams. It has been applied to a couple examples that illustrate the efficiency of our model checker.  相似文献   

15.
An experiment was conducted to evaluate an inter-procedural test adequacy criterion named Interface Mutation. Program SPACE, developed for the European Space Agency (ESA), was used in this experiment. The development record available for this program was used to find the faults uncovered during its development. Using this information the test process was reproduced starting with a version of SPACE containing several faults and then applying Interface Mutation. Thus we could evaluate the fault revealing effectiveness of Interface Mutation. Results from the experiment suggest that (a) the application of Interface Mutation favors the selection of fault revealing test cases when they exist and (b) Interface Mutation tends to select fault revealing test cases more efficiently than in the case where random selection is used.  相似文献   

16.
运用类复制变异和JPF技术生成类间测试用例   总被引:1,自引:0,他引:1  
采用类复制变异方法,运用模型检测器Java PathFinder(JPF)来保证软件执行过程中产生的错误在输出结果中可见,同时将类间测试用例生成问题转化成模型检测中寻找反例的问题,自动生成满足变异覆盖准则的类测试用例,提出一种适用于类间调用的测试用例自动生成方法,并在程序模型检测器JPF上实现.实验结果表明,本文提出的方法能生成高效的Java类间测试输入数据,变异覆盖率高,可发现隐藏错误,并能显著减少测试生成的代价.  相似文献   

17.
蚁群智能模型检测算法借鉴了自然界中蚂蚁通过信息素相互沟通,从而完成觅食、搬迁等需要协作的复杂社会活动的原理。通过分布在程序控制流图和状态图上的代理,即人工蚂蚁的回溯来跟踪寻找模型中的正确路径和错误路径,人工蚂蚁在控制流图上移动时,分别在正确路径和错误路径上释放两种不同的信息素,通过对两种信息素的对比,可自动定位出程序中引发特定错误的原因。由于人工蚂蚁之间相互独立、并行工作,因此算法能够同时、并行地跟踪多条正确路径和错误路径,也可同时定位出引发多个不同错误的不同原因。通过对中小规模程序的检测,结果表明,该算法是有效的。  相似文献   

18.
Software Model Checking: The VeriSoft Approach   总被引:2,自引:0,他引:2  
Verification by state-space exploration, also often referred to as model checking, is an effective method for analyzing the correctness of concurrent reactive systems (for instance, communication protocols). Unfortunately, traditional model checking is restricted to the verification of properties of models, i.e., abstractions, of concurrent systems.We discuss in this paper how model checking can be extended to analyze arbitrary software, such as implementations of communication protocols written in programming languages like C or C++. We then introduce a search technique that is suitable for exploring the state spaces of such systems. This algorithm has been implemented in VeriSoft, a tool for systematically exploring the state spaces of systems composed of several concurrent processes executing arbitrary code.During the past five years, VeriSoft has been applied successfully for analyzing several software products developed in Lucent Technologies, and has also been licensed to hundreds of users in industry and academia. We discuss applications, strengths and limitations of VeriSoft, and compare it to other approaches to software model checking, analysis and testing.  相似文献   

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

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