首页 > 最新文献

13th International Symposium on Software Reliability Engineering, 2002. Proceedings.最新文献

英文 中文
A framework for live software upgrade 用于实时软件升级的框架
Pub Date : 2002-11-12 DOI: 10.1109/ISSRE.2002.1173236
Lizhou Yu, G. Shoja, H. Müller, A. Srinivasan
The demand for continuous service in mission- and safety-critical software applications is increasing. For these applications, it is unacceptable to shutdown and restart the system during software upgrade. This paper examines issues relating to on-line upgrades for mission- and safety-critical software applications. We believe that a dynamic architecture and communication model provides an excellent foundation for runtime software evolution. To solve the problems mentioned above, we designed and implemented a framework, which addresses four main areas: dynamic architecture and communication model, reconfiguration management, the upgrade protocol, and the upgrade technique. The framework can be used for online upgrading of multi-task software applications, which provide multiple mission-critical services. In the framework discussed in the paper, the ability to make runtime modifications is considered at the software architecture-level. The dynamic architecture and communication model makes it possible for software applications to add, remove, and hot swap modules on the fly. The transition scenario is specified by the upgrade protocol. The framework also provides the mechanism for maintaining state consistency. In order to ensure a reliable upgrade, a two-phase commit protocol is utilized to implement the atomic upgrade transactions. In addition, a command line interface facilitates the reconfiguration management. A simulation study of the proposed framework was carried out for live software upgrade of several practical applications. The results of the simulation are also presented.
对任务和安全关键软件应用程序的持续服务的需求正在增加。对于这些应用程序,在软件升级过程中不能关机并重新启动系统。本文研究了与任务和安全关键软件应用程序的在线升级有关的问题。我们相信动态架构和通信模型为运行时软件的发展提供了良好的基础。为了解决上述问题,我们设计并实现了一个框架,该框架涉及四个主要领域:动态体系结构和通信模型、重新配置管理、升级协议和升级技术。该框架可用于多任务软件应用程序的在线升级,这些应用程序提供多种关键任务服务。在本文讨论的框架中,在软件体系结构级别考虑了进行运行时修改的能力。动态体系结构和通信模型使软件应用程序能够动态地添加、删除和热插拔模块。转换场景由升级协议指定。该框架还提供了维护状态一致性的机制。为了确保可靠的升级,使用了两阶段提交协议来实现原子升级事务。此外,命令行接口方便了重新配置管理。对所提出的框架进行了仿真研究,用于几个实际应用的实时软件升级。最后给出了仿真结果。
{"title":"A framework for live software upgrade","authors":"Lizhou Yu, G. Shoja, H. Müller, A. Srinivasan","doi":"10.1109/ISSRE.2002.1173236","DOIUrl":"https://doi.org/10.1109/ISSRE.2002.1173236","url":null,"abstract":"The demand for continuous service in mission- and safety-critical software applications is increasing. For these applications, it is unacceptable to shutdown and restart the system during software upgrade. This paper examines issues relating to on-line upgrades for mission- and safety-critical software applications. We believe that a dynamic architecture and communication model provides an excellent foundation for runtime software evolution. To solve the problems mentioned above, we designed and implemented a framework, which addresses four main areas: dynamic architecture and communication model, reconfiguration management, the upgrade protocol, and the upgrade technique. The framework can be used for online upgrading of multi-task software applications, which provide multiple mission-critical services. In the framework discussed in the paper, the ability to make runtime modifications is considered at the software architecture-level. The dynamic architecture and communication model makes it possible for software applications to add, remove, and hot swap modules on the fly. The transition scenario is specified by the upgrade protocol. The framework also provides the mechanism for maintaining state consistency. In order to ensure a reliable upgrade, a two-phase commit protocol is utilized to implement the atomic upgrade transactions. In addition, a command line interface facilitates the reconfiguration management. A simulation study of the proposed framework was carried out for live software upgrade of several practical applications. The results of the simulation are also presented.","PeriodicalId":159160,"journal":{"name":"13th International Symposium on Software Reliability Engineering, 2002. Proceedings.","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129152228","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 12
Emulation of software faults by educated mutations at machine-code level 在机器代码级别上通过受教育的突变来模拟软件故障
Pub Date : 2002-11-12 DOI: 10.1109/ISSRE.2002.1173283
J. Durães, H. Madeira
This paper proposes a new technique to emulate software faults by educated mutations introduced at the machine-code level and presents an experimental study on the accuracy of the injected faults. The proposed method consists of finding key programming structures at the machine code-level where high-level software faults can be emulated. The main advantage of emulating software faults at the machine-code level is that software faults can be injected even when the source code of the target application is not available, which is very important for the evaluation of COTS components or for the validation of software fault tolerance techniques in COTS based systems. The technique was evaluated using several real programs and different types of faults and, additionally, it includes our study on the key aspects that may impact on the technique accuracy. The portability of the technique is also addressed. The results show that classes of faults such as assignment, checking, interface, and simple algorithm faults can be directly emulated using this technique.
本文提出了一种通过在机器码级引入教育突变来模拟软件故障的新技术,并对注入故障的准确性进行了实验研究。所提出的方法包括在机器码级别找到关键的编程结构,在机器码级别可以模拟高级软件故障。在机器码级别模拟软件故障的主要优点是,即使在目标应用程序的源代码不可用的情况下,也可以注入软件故障,这对于基于COTS的系统中COTS组件的评估或软件容错技术的验证非常重要。利用几个实际程序和不同类型的断层对该技术进行了评估,并对可能影响该技术精度的关键方面进行了研究。还讨论了该技术的可移植性。结果表明,使用该技术可以直接模拟诸如赋值、检查、接口和简单算法故障等故障类型。
{"title":"Emulation of software faults by educated mutations at machine-code level","authors":"J. Durães, H. Madeira","doi":"10.1109/ISSRE.2002.1173283","DOIUrl":"https://doi.org/10.1109/ISSRE.2002.1173283","url":null,"abstract":"This paper proposes a new technique to emulate software faults by educated mutations introduced at the machine-code level and presents an experimental study on the accuracy of the injected faults. The proposed method consists of finding key programming structures at the machine code-level where high-level software faults can be emulated. The main advantage of emulating software faults at the machine-code level is that software faults can be injected even when the source code of the target application is not available, which is very important for the evaluation of COTS components or for the validation of software fault tolerance techniques in COTS based systems. The technique was evaluated using several real programs and different types of faults and, additionally, it includes our study on the key aspects that may impact on the technique accuracy. The portability of the technique is also addressed. The results show that classes of faults such as assignment, checking, interface, and simple algorithm faults can be directly emulated using this technique.","PeriodicalId":159160,"journal":{"name":"13th International Symposium on Software Reliability Engineering, 2002. Proceedings.","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121425533","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 40
Modeling and analysis of software rejuvenation in cable modem termination systems 电缆调制解调器终端系统中软件再生的建模与分析
Pub Date : 2002-11-12 DOI: 10.1109/ISSRE.2002.1173239
Yun Liu, Kishor S. Trivedi, Yue Ma, James J. Han, H. Levendel
In order to reduce system outages and the associated downtime cost caused by the "software aging" phenomenon, we propose to use software rejuvenation as a proactive system maintenance technique deployed in a CMTS (Cable Modem Termination System) cluster system. Different rejuvenation policies are studied from the perspective of cost and availability. To evaluate these policies, stochastic reward net models are developed and solved by SPNP (Stochastic Petri Net Package). Numerical results show that significant improvement in capacity-oriented availability and decrease in downtime cost can be achieved. The optimization of the rejuvenation interval in the time-based approach and the effect of the prediction coverage in the measurement-based approach are also studied in this paper.
为了减少由“软件老化”现象引起的系统中断和相关的停机成本,我们建议将软件再生作为部署在CMTS (Cable Modem terminal system)集群系统中的主动系统维护技术。从成本和可得性的角度研究了不同的振兴政策。为了评估这些策略,开发了随机奖励网络模型,并使用SPNP(随机Petri网包)进行求解。数值结果表明,该方法可以显著提高容量导向的可用性,降低停机成本。本文还研究了基于时间的方法中再生间隔的优化和基于测量的方法中预测覆盖率的影响。
{"title":"Modeling and analysis of software rejuvenation in cable modem termination systems","authors":"Yun Liu, Kishor S. Trivedi, Yue Ma, James J. Han, H. Levendel","doi":"10.1109/ISSRE.2002.1173239","DOIUrl":"https://doi.org/10.1109/ISSRE.2002.1173239","url":null,"abstract":"In order to reduce system outages and the associated downtime cost caused by the \"software aging\" phenomenon, we propose to use software rejuvenation as a proactive system maintenance technique deployed in a CMTS (Cable Modem Termination System) cluster system. Different rejuvenation policies are studied from the perspective of cost and availability. To evaluate these policies, stochastic reward net models are developed and solved by SPNP (Stochastic Petri Net Package). Numerical results show that significant improvement in capacity-oriented availability and decrease in downtime cost can be achieved. The optimization of the rejuvenation interval in the time-based approach and the effect of the prediction coverage in the measurement-based approach are also studied in this paper.","PeriodicalId":159160,"journal":{"name":"13th International Symposium on Software Reliability Engineering, 2002. Proceedings.","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124367057","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 36
A vector Markov model for structural coverage growth and the number of failure occurrences 结构覆盖增长和失效次数的向量马尔可夫模型
Pub Date : 2002-11-12 DOI: 10.1109/ISSRE.2002.1173276
Michael Grottke
Most software reliability growth models specify the expected number of failures experienced as a function of testing effort or calendar time. However, there are approaches to model the development of intermediate factors driving failure occurrences. This paper starts out with presenting a model framework consisting of four consecutive relationships. It is shown that a differential equation representing this framework is a generalization of several finite failures category models. The relationships between the number of test cases executed and expected structural coverage, and between expected structural coverage and the expected number of failure occurrences are then explored further. A vector Markov model allowing for partial redundancy in sampling code constructs is developed. The model bridges the gap between setups related to operational testing and systematic testing, respectively. Two extensions of the partial redundancy model considering the development of the number of failure occurrences are discussed. The paper concludes with showing that the extended models fit into the structure of the differential equation presented at the beginning, which permits further interpretation.
大多数软件可靠性增长模型将预期的失败次数指定为测试工作或日历时间的函数。然而,有一些方法来模拟驱动失效发生的中间因素的发展。本文首先提出了一个由四个连续关系组成的模型框架。结果表明,表示该框架的微分方程是几种有限失效范畴模型的推广。执行的测试用例的数量和预期的结构覆盖率之间的关系,以及预期的结构覆盖率和预期的失败发生的数量之间的关系,将被进一步探讨。提出了一种允许采样代码结构部分冗余的向量马尔可夫模型。该模型分别弥补了与操作测试和系统测试相关的设置之间的差距。讨论了考虑故障发生次数变化的部分冗余模型的两种扩展。本文最后表明,扩展模型符合开始时提出的微分方程的结构,这允许进一步解释。
{"title":"A vector Markov model for structural coverage growth and the number of failure occurrences","authors":"Michael Grottke","doi":"10.1109/ISSRE.2002.1173276","DOIUrl":"https://doi.org/10.1109/ISSRE.2002.1173276","url":null,"abstract":"Most software reliability growth models specify the expected number of failures experienced as a function of testing effort or calendar time. However, there are approaches to model the development of intermediate factors driving failure occurrences. This paper starts out with presenting a model framework consisting of four consecutive relationships. It is shown that a differential equation representing this framework is a generalization of several finite failures category models. The relationships between the number of test cases executed and expected structural coverage, and between expected structural coverage and the expected number of failure occurrences are then explored further. A vector Markov model allowing for partial redundancy in sampling code constructs is developed. The model bridges the gap between setups related to operational testing and systematic testing, respectively. Two extensions of the partial redundancy model considering the development of the number of failure occurrences are discussed. The paper concludes with showing that the extended models fit into the structure of the differential equation presented at the beginning, which permits further interpretation.","PeriodicalId":159160,"journal":{"name":"13th International Symposium on Software Reliability Engineering, 2002. Proceedings.","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127736438","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 12
A case study using the round-trip strategy for state-based class testing 使用基于状态的类测试的往返策略的案例研究
Pub Date : 2002-11-12 DOI: 10.1109/ISSRE.2002.1173268
G. Antoniol, L. Briand, M. D. Penta, Y. Labiche
A number of strategies have been proposed for state-based class testing. An important proposal made by Chow (1978), that was subsequently adapted by Binder (1999), consists in deriving test sequences covering all round-trip paths in a finite state machine (FSMs). Based on a number of (rather strong) assumptions, and for traditional FSMs, it can be demonstrated that all operation and transfer errors in the implementation can be uncovered. Through experimentation, this paper investigates this strategy when used in the context of UML statecharts. Based on a set of mutation operators proposed for object-oriented code we seed a significant number of faults in an implementation of a specific container class. We then investigate the effectiveness of four test teams at uncovering faults, based on the round-trip path strategy, and analyze the faults that seem to be difficult to detect. Our main conclusion is that the round-trip path strategy is reasonably effective at detecting faults (87% average as opposed to 69% for size-equivalent, random test cases) but that a significant number of faults can only exhibit a high detection probability by augmenting the round-trip strategy with a traditional black-box strategy such as category-partition testing. This increases the number of test cases to run -and therefore the cost of testing- and a cost-benefit analysis weighting the increase of testing effort and the likely gain in fault detection is necessary.
已经为基于状态的类测试提出了许多策略。Chow(1978)提出的一个重要建议,后来被Binder(1999)采纳,包括在有限状态机(FSMs)中推导涵盖所有往返路径的测试序列。基于许多(相当强的)假设,对于传统的fsm,可以证明实现中的所有操作和传输错误都可以被发现。通过实验,本文研究了在UML状态图上下文中使用该策略的情况。基于一组针对面向对象代码提出的突变操作符,我们在特定容器类的实现中播种了大量的错误。然后,我们调查了四个测试团队在发现故障方面的有效性,基于往返路径策略,并分析了似乎难以检测的故障。我们的主要结论是,往返路径策略在检测故障方面相当有效(平均87%,而对于大小相等的随机测试用例则为69%),但是大量故障只能通过使用传统的黑盒策略(如类别分区测试)来增加往返策略来显示高检测概率。这增加了要运行的测试用例的数量——因此增加了测试的成本——并且需要对测试工作的增加和故障检测中可能获得的收益进行成本效益分析。
{"title":"A case study using the round-trip strategy for state-based class testing","authors":"G. Antoniol, L. Briand, M. D. Penta, Y. Labiche","doi":"10.1109/ISSRE.2002.1173268","DOIUrl":"https://doi.org/10.1109/ISSRE.2002.1173268","url":null,"abstract":"A number of strategies have been proposed for state-based class testing. An important proposal made by Chow (1978), that was subsequently adapted by Binder (1999), consists in deriving test sequences covering all round-trip paths in a finite state machine (FSMs). Based on a number of (rather strong) assumptions, and for traditional FSMs, it can be demonstrated that all operation and transfer errors in the implementation can be uncovered. Through experimentation, this paper investigates this strategy when used in the context of UML statecharts. Based on a set of mutation operators proposed for object-oriented code we seed a significant number of faults in an implementation of a specific container class. We then investigate the effectiveness of four test teams at uncovering faults, based on the round-trip path strategy, and analyze the faults that seem to be difficult to detect. Our main conclusion is that the round-trip path strategy is reasonably effective at detecting faults (87% average as opposed to 69% for size-equivalent, random test cases) but that a significant number of faults can only exhibit a high detection probability by augmenting the round-trip strategy with a traditional black-box strategy such as category-partition testing. This increases the number of test cases to run -and therefore the cost of testing- and a cost-benefit analysis weighting the increase of testing effort and the likely gain in fault detection is necessary.","PeriodicalId":159160,"journal":{"name":"13th International Symposium on Software Reliability Engineering, 2002. Proceedings.","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134269688","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 58
Mutation of Java objects Java对象的变异
Pub Date : 2002-11-12 DOI: 10.1109/ISSRE.2002.1173285
R. Alexander, J. Bieman, Sudipto Ghosh, Bixia Ji
Fault insertion based techniques have been used for measuring test adequacy and testability of programs. Mutation analysis inserts faults into a program with the goal of creating mutation-adequate test sets that distinguish the mutant from the original program. Software testability is measured by calculating the probability that a program will fail on the next test input coming from a predefined input distribution, given that the software includes a fault. Inserted faults must represent plausible errors. It is relatively easy to apply standard transformations to mutate scalar values such as integers, floats, and character data, because their semantics are well understood. Mutating objects that are instances of user defined types is more difficult. There is no obvious way to modify such objects in a manner consistent with realistic faults, without writing custom mutation methods for each object class. We propose a new object mutation approach along with a set of mutation operators and support tools for inserting faults into objects that instantiate items from common Java libraries heavily used in commercial software as well as user defined classes. Preliminary evaluation of our technique shows that it should be effective for evaluating real-world software testing suites.
基于故障插入的技术已被用于测量程序的测试充分性和可测试性。突变分析将错误插入程序中,目的是创建足够的突变测试集,将突变与原始程序区分开来。软件可测试性是通过计算程序在来自预定义输入分布的下一个测试输入中失败的概率来度量的,假设软件包含一个错误。插入的错误必须表示合理的错误。应用标准转换来改变标量值(如整数、浮点数和字符数据)相对容易,因为它们的语义很容易理解。改变作为用户定义类型实例的对象比较困难。如果不为每个对象类编写自定义的突变方法,显然没有办法以与实际错误一致的方式修改这些对象。我们提出了一种新的对象突变方法,以及一组突变操作符和支持工具,用于将错误插入到对象中,这些对象实例化了商业软件中大量使用的公共Java库中的项以及用户定义的类。对我们技术的初步评估表明,它对于评估真实世界的软件测试套件应该是有效的。
{"title":"Mutation of Java objects","authors":"R. Alexander, J. Bieman, Sudipto Ghosh, Bixia Ji","doi":"10.1109/ISSRE.2002.1173285","DOIUrl":"https://doi.org/10.1109/ISSRE.2002.1173285","url":null,"abstract":"Fault insertion based techniques have been used for measuring test adequacy and testability of programs. Mutation analysis inserts faults into a program with the goal of creating mutation-adequate test sets that distinguish the mutant from the original program. Software testability is measured by calculating the probability that a program will fail on the next test input coming from a predefined input distribution, given that the software includes a fault. Inserted faults must represent plausible errors. It is relatively easy to apply standard transformations to mutate scalar values such as integers, floats, and character data, because their semantics are well understood. Mutating objects that are instances of user defined types is more difficult. There is no obvious way to modify such objects in a manner consistent with realistic faults, without writing custom mutation methods for each object class. We propose a new object mutation approach along with a set of mutation operators and support tools for inserting faults into objects that instantiate items from common Java libraries heavily used in commercial software as well as user defined classes. Preliminary evaluation of our technique shows that it should be effective for evaluating real-world software testing suites.","PeriodicalId":159160,"journal":{"name":"13th International Symposium on Software Reliability Engineering, 2002. Proceedings.","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128956445","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 65
Inter-class mutation operators for Java Java的类间变异操作符
Pub Date : 2002-11-12 DOI: 10.1109/ISSRE.2002.1173287
Yu-Seung Ma, Yong-Rae Kwon, Jeff Offutt
The effectiveness of mutation testing depends heavily on the types of faults that the mutation operators are designed to represent. Therefore, the quality of the mutation operators is key to mutation testing. Mutation testing has traditionally been applied to procedural-based languages, and mutation operators have been developed to support most of their language features. Object-oriented programming languages contain new language features, most notably inheritance, polymorphism, and dynamic binding. Not surprisingly; these language features allow new kinds of faults, some of which are not modeled by traditional mutation operators. Although mutation operators for OO languages have previously been suggested, our work in OO faults indicate that the previous operators are insufficient to test these OO language features, particularly at the class testing level. This paper introduces a new set of class mutation operators for the OO language Java. These operators are based on specific OO faults and can be used to detect faults involving inheritance, polymorphism, and dynamic binding, thus are useful for inter-class testing. An initial Java mutation tool has recently been completed, and a more powerful version is currently under construction.
突变测试的有效性在很大程度上取决于设计突变算子来表示的故障类型。因此,突变算子的质量是突变检测的关键。突变测试传统上应用于基于过程的语言,并且已经开发了突变操作符来支持其大多数语言特性。面向对象编程语言包含新的语言特性,最显著的是继承、多态性和动态绑定。不奇怪;这些语言特征允许出现新类型的错误,其中一些错误是传统变异算子无法模拟的。尽管以前已经提出了针对OO语言的突变操作符,但是我们在OO错误方面的工作表明,以前的操作符不足以测试这些OO语言特性,特别是在类测试级别。本文介绍了面向对象语言Java的一组新的类变异操作符。这些操作符基于特定的OO错误,可用于检测涉及继承、多态性和动态绑定的错误,因此对类间测试非常有用。一个初始的Java变异工具最近已经完成,一个更强大的版本目前正在构建中。
{"title":"Inter-class mutation operators for Java","authors":"Yu-Seung Ma, Yong-Rae Kwon, Jeff Offutt","doi":"10.1109/ISSRE.2002.1173287","DOIUrl":"https://doi.org/10.1109/ISSRE.2002.1173287","url":null,"abstract":"The effectiveness of mutation testing depends heavily on the types of faults that the mutation operators are designed to represent. Therefore, the quality of the mutation operators is key to mutation testing. Mutation testing has traditionally been applied to procedural-based languages, and mutation operators have been developed to support most of their language features. Object-oriented programming languages contain new language features, most notably inheritance, polymorphism, and dynamic binding. Not surprisingly; these language features allow new kinds of faults, some of which are not modeled by traditional mutation operators. Although mutation operators for OO languages have previously been suggested, our work in OO faults indicate that the previous operators are insufficient to test these OO language features, particularly at the class testing level. This paper introduces a new set of class mutation operators for the OO language Java. These operators are based on specific OO faults and can be used to detect faults involving inheritance, polymorphism, and dynamic binding, thus are useful for inter-class testing. An initial Java mutation tool has recently been completed, and a more powerful version is currently under construction.","PeriodicalId":159160,"journal":{"name":"13th International Symposium on Software Reliability Engineering, 2002. Proceedings.","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131789222","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 241
Improving usefulness of software quality classification models based on Boolean discriminant functions 提高基于布尔判别函数的软件质量分类模型的有效性
Pub Date : 2002-11-12 DOI: 10.1109/ISSRE.2002.1173256
T. Khoshgoftaar
BDF (Boolean discriminant functions) are an attractive technique for software quality estimation. Software quality classification models based on BDF provide stringent rules for classifying not fault-prone modules (nfp), thereby predicting a large number of modules as fp. Such models are practically not useful from software quality assurance and software management points of view. This is because, given the large number of modules predicted as fp, project management will face a difficult task of deploying, cost-effectively, the always-limited reliability improvement resources to all the fp modules. This paper proposes the use of generalized Boolean discriminant functions (GBDF) as a solution for improving the practical and managerial usefulness of classification models based on BDF. In addition, the use of GBDF avoids the need to build complex hybrid classification models in order to improve usefulness of models based on BDF. A case study of a full-scale industrial software system is presented to illustrate the promising results obtained from using the proposed classification technique using GBDF.
布尔判别函数(BDF)是一种很有吸引力的软件质量评估技术。基于BDF的软件质量分类模型为nfp (not - fault-prone modules)提供了严格的分类规则,从而预测出大量的nfp模块。从软件质量保证和软件管理的角度来看,这样的模型实际上是没有用的。这是因为,考虑到大量被预测为fp的模块,项目管理将面临一项艰巨的任务,即如何以经济有效的方式将始终有限的可靠性改进资源部署到所有fp模块。为了提高基于广义布尔判别函数(GBDF)的分类模型的实用性和管理性,本文提出了使用广义布尔判别函数的解决方案。此外,使用GBDF避免了建立复杂的混合分类模型的需要,从而提高了基于BDF的模型的有用性。最后以一个完整的工业软件系统为例,说明了基于GBDF的分类技术所获得的良好结果。
{"title":"Improving usefulness of software quality classification models based on Boolean discriminant functions","authors":"T. Khoshgoftaar","doi":"10.1109/ISSRE.2002.1173256","DOIUrl":"https://doi.org/10.1109/ISSRE.2002.1173256","url":null,"abstract":"BDF (Boolean discriminant functions) are an attractive technique for software quality estimation. Software quality classification models based on BDF provide stringent rules for classifying not fault-prone modules (nfp), thereby predicting a large number of modules as fp. Such models are practically not useful from software quality assurance and software management points of view. This is because, given the large number of modules predicted as fp, project management will face a difficult task of deploying, cost-effectively, the always-limited reliability improvement resources to all the fp modules. This paper proposes the use of generalized Boolean discriminant functions (GBDF) as a solution for improving the practical and managerial usefulness of classification models based on BDF. In addition, the use of GBDF avoids the need to build complex hybrid classification models in order to improve usefulness of models based on BDF. A case study of a full-scale industrial software system is presented to illustrate the promising results obtained from using the proposed classification technique using GBDF.","PeriodicalId":159160,"journal":{"name":"13th International Symposium on Software Reliability Engineering, 2002. Proceedings.","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122140617","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 28
Fault contribution trees for product families 产品族的故障贡献树
Pub Date : 2002-11-12 DOI: 10.1109/ISSRE.2002.1173258
Dingding Lu, R. Lutz
Software fault tree analysis (SFTA) provides a structured way to reason about the safety or reliability of a software system. As such, SFTA is widely used in mission-critical applications to investigate contributing causes to possible hazards or failures. In this paper we propose an approach similar to SFTA for product families. The contribution of the paper is to define a top-down, tree-based analysis technique, the fault contribution tree analysis (FCTA), that operates on the results of a product-family domain analysis and to describe a method by which the FCTA of a product family can serve as a reusable asset in the building of new members of the family. Specifically, we describe both the construction of the fault contribution tree for a product family (domain engineering) and the reuse of the appropriately pruned fault contribution tree for the analysis of a new member of the product family (application engineering). The paper describes several challenges to this approach, including evolution of the product family, handling of subfamilies, and distinguishing the limits of safe reuse of the FCTA, and suggests partial solutions to these issues as well as directions for future work. The paper illustrates the techniques with examples from applications to two product families.
软件故障树分析(SFTA)提供了一种结构化的方法来推断软件系统的安全性或可靠性。因此,SFTA被广泛用于关键任务应用中,以调查可能导致危险或故障的原因。在本文中,我们提出了一种类似于产品族的SFTA的方法。本文的贡献是定义了一种自上而下的、基于树的分析技术,即故障贡献树分析(FCTA),它对产品族域分析的结果进行操作,并描述了一种方法,通过该方法,产品族的FCTA可以作为构建新成员的可重用资产。具体来说,我们描述了产品族的故障贡献树的构造(领域工程)和适当修剪的故障贡献树的重用,以分析产品族的新成员(应用工程)。本文描述了该方法面临的几个挑战,包括产品族的演变、子族的处理以及区分FCTA安全重用的限制,并提出了这些问题的部分解决方案以及未来工作的方向。本文通过两个产品族的应用实例说明了这些技术。
{"title":"Fault contribution trees for product families","authors":"Dingding Lu, R. Lutz","doi":"10.1109/ISSRE.2002.1173258","DOIUrl":"https://doi.org/10.1109/ISSRE.2002.1173258","url":null,"abstract":"Software fault tree analysis (SFTA) provides a structured way to reason about the safety or reliability of a software system. As such, SFTA is widely used in mission-critical applications to investigate contributing causes to possible hazards or failures. In this paper we propose an approach similar to SFTA for product families. The contribution of the paper is to define a top-down, tree-based analysis technique, the fault contribution tree analysis (FCTA), that operates on the results of a product-family domain analysis and to describe a method by which the FCTA of a product family can serve as a reusable asset in the building of new members of the family. Specifically, we describe both the construction of the fault contribution tree for a product family (domain engineering) and the reuse of the appropriately pruned fault contribution tree for the analysis of a new member of the product family (application engineering). The paper describes several challenges to this approach, including evolution of the product family, handling of subfamilies, and distinguishing the limits of safe reuse of the FCTA, and suggests partial solutions to these issues as well as directions for future work. The paper illustrates the techniques with examples from applications to two product families.","PeriodicalId":159160,"journal":{"name":"13th International Symposium on Software Reliability Engineering, 2002. Proceedings.","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134206399","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 26
A reliability estimator for model based software testing 一种基于模型的软件测试可靠性估计方法
Pub Date : 2002-11-12 DOI: 10.1109/ISSRE.2002.1173212
Kirk Sayre, J. Poore
This paper presents a reliability estimator based on current Markov chain usage model testing methodology. This reliability estimator is specifically formulated to take advantage of software testing performed using Markov chain models of the use of the software under test. The reliability estimator presented in this paper is useful in the absence of observed failures, behaves in a predictable manner, can make use of pretest reliability information, and has an associated variance.
本文提出了一种基于马尔可夫链使用模型测试方法的可靠性估计方法。这个可靠性估计器是专门为利用使用被测软件的马尔可夫链模型执行的软件测试而制定的。本文提出的可靠性估计器在没有观察到故障的情况下是有用的,表现为可预测的方式,可以利用预测可靠性信息,并且具有相关方差。
{"title":"A reliability estimator for model based software testing","authors":"Kirk Sayre, J. Poore","doi":"10.1109/ISSRE.2002.1173212","DOIUrl":"https://doi.org/10.1109/ISSRE.2002.1173212","url":null,"abstract":"This paper presents a reliability estimator based on current Markov chain usage model testing methodology. This reliability estimator is specifically formulated to take advantage of software testing performed using Markov chain models of the use of the software under test. The reliability estimator presented in this paper is useful in the absence of observed failures, behaves in a predictable manner, can make use of pretest reliability information, and has an associated variance.","PeriodicalId":159160,"journal":{"name":"13th International Symposium on Software Reliability Engineering, 2002. Proceedings.","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123851297","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 17
期刊
13th International Symposium on Software Reliability Engineering, 2002. Proceedings.
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1