首页 > 最新文献

2008 19th International Symposium on Software Reliability Engineering (ISSRE)最新文献

英文 中文
Concurrent Contracts for Java in JML Java在JML中的并发契约
Wladimir Araujo, L. Briand, Y. Labiche
Design by contract (DbC) is a software development methodology that makes use of assertions to produce better quality object-oriented software. The idea behind DbC is that a method defines a contract stating the requirements a client needs to fulfill to use it, the precondition, and the properties it ensures after its execution, the postcondition. Though there exists ample support for DbC for sequential programs, applying DbC to concurrent programs presents several challenges. The first challenge is interference, the product of multiple threads of execution modifying and accessing shared data. The second is the specification of thread-safety properties in the presence of inheritance.We present a solution to these challenges in the context of Java programs by extending the Java modeling language (JML) specification language. We experiment our solution on a large size industrial software system.
契约式设计(DbC)是一种软件开发方法,它利用断言来生成质量更好的面向对象软件。DbC背后的思想是,方法定义了一个契约,该契约说明了客户机使用它需要满足的需求、前提条件和执行后所确保的属性(后置条件)。尽管对顺序程序有充分的DbC支持,但是将DbC应用于并发程序存在一些挑战。第一个挑战是干扰,这是多个执行线程修改和访问共享数据的产物。第二个是在存在继承的情况下规范线程安全属性。我们通过扩展Java建模语言(JML)规范语言,在Java程序的上下文中提出了解决这些挑战的方案。我们在一个大型工业软件系统上试验了我们的解决方案。
{"title":"Concurrent Contracts for Java in JML","authors":"Wladimir Araujo, L. Briand, Y. Labiche","doi":"10.1109/ISSRE.2008.9","DOIUrl":"https://doi.org/10.1109/ISSRE.2008.9","url":null,"abstract":"Design by contract (DbC) is a software development methodology that makes use of assertions to produce better quality object-oriented software. The idea behind DbC is that a method defines a contract stating the requirements a client needs to fulfill to use it, the precondition, and the properties it ensures after its execution, the postcondition. Though there exists ample support for DbC for sequential programs, applying DbC to concurrent programs presents several challenges. The first challenge is interference, the product of multiple threads of execution modifying and accessing shared data. The second is the specification of thread-safety properties in the presence of inheritance.We present a solution to these challenges in the context of Java programs by extending the Java modeling language (JML) specification language. We experiment our solution on a large size industrial software system.","PeriodicalId":448275,"journal":{"name":"2008 19th International Symposium on Software Reliability Engineering (ISSRE)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127177390","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}
引用次数: 19
How Economics Shape Reliability: Lessons and Opportunities from Windows Development 经济学如何塑造可靠性:Windows开发的教训和机遇
Solom Heddaya
How can we deliver highly reliable software profitably, for low cost and at large scale? The value of answering this question is enormous: providing software quality costs organizations, let alone consumers, roughly half a trillion dollars per year worldwide. Large scale data suggests that discovering and correcting defects in the traditional ways, while necessary, is not a sufficient answer. This talk will review some of the salient efforts and results of the Windows team in pursuit of high reliability. We will identify some long-term challenges and describe the built-in tools and capabilities that enable the research and industrial communities to study and address reliability issues in the Windows ecosystem.
我们如何以低成本和大规模的方式交付高可靠性的软件?回答这个问题的价值是巨大的:提供软件质量要花费组织,更不用说消费者了,全世界每年大约要花费5000亿美元。大规模的数据表明,以传统的方式发现和纠正缺陷虽然是必要的,但并不是一个充分的答案。本演讲将回顾Windows团队在追求高可靠性方面所做的一些突出的努力和成果。我们将确定一些长期挑战,并描述使研究和工业社区能够研究和解决Windows生态系统可靠性问题的内置工具和功能。
{"title":"How Economics Shape Reliability: Lessons and Opportunities from Windows Development","authors":"Solom Heddaya","doi":"10.1109/ISSRE.2008.64","DOIUrl":"https://doi.org/10.1109/ISSRE.2008.64","url":null,"abstract":"How can we deliver highly reliable software profitably, for low cost and at large scale? The value of answering this question is enormous: providing software quality costs organizations, let alone consumers, roughly half a trillion dollars per year worldwide. Large scale data suggests that discovering and correcting defects in the traditional ways, while necessary, is not a sufficient answer. This talk will review some of the salient efforts and results of the Windows team in pursuit of high reliability. We will identify some long-term challenges and describe the built-in tools and capabilities that enable the research and industrial communities to study and address reliability issues in the Windows ecosystem.","PeriodicalId":448275,"journal":{"name":"2008 19th International Symposium on Software Reliability Engineering (ISSRE)","volume":"78 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132392131","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}
引用次数: 0
A Joinpoint Coverage Measurement Tool for Evaluating the Effectiveness of Test Inputs for AspectJ Programs 一个用于评估AspectJ程序的测试输入有效性的连接点覆盖度量工具
Fadi Wedyan, Sudipto Ghosh
Testing aspect-oriented programs is challenging in part because of the interactions between the aspects and the base classes with which the aspects are woven. Coverage metrics, such as joinpoint coverage, address faults resulting from the changes in base class control flow that may be introduced by the woven advices. Definitions of joinpoint coverage in the literature typically require counting the execution of aspects at each joinpoint. We present a tool for measuring joinpoint coverage from two perspectives: per advice, which measures the execution of the advice at each joinpoint it is woven into, and per class, which measures the execution of all the advices in each joinpoint in the class. This gives a more detailed measurement of joinpoint coverage and helps in identifying what more needs to be tested in both the base class and the aspect. The tool is based on AspectJ and Java bytecode, and thus, does not require any source code. We demonstrate the use of our tool to measure the joinpoint coverage of test inputs generated by Xie and Zhao's Aspectra framework.
测试面向方面的程序是具有挑战性的,部分原因在于方面和编织方面的基类之间的交互。覆盖度量,比如连接点覆盖,处理由编织通知引入的基类控制流变更所导致的错误。文献中连接点覆盖率的定义通常需要计算每个连接点上方面的执行情况。我们提供了一个从两个角度测量连接点覆盖率的工具:每个通知,它测量它被编织到的每个连接点上的通知的执行,以及每个类,它测量类中每个连接点中所有通知的执行。这提供了更详细的连接点覆盖率度量,并有助于确定在基类和方面中还需要测试哪些内容。该工具基于AspectJ和Java字节码,因此不需要任何源代码。我们演示了使用我们的工具来度量由Xie和Zhao的Aspectra框架生成的测试输入的连接点覆盖率。
{"title":"A Joinpoint Coverage Measurement Tool for Evaluating the Effectiveness of Test Inputs for AspectJ Programs","authors":"Fadi Wedyan, Sudipto Ghosh","doi":"10.1109/ISSRE.2008.12","DOIUrl":"https://doi.org/10.1109/ISSRE.2008.12","url":null,"abstract":"Testing aspect-oriented programs is challenging in part because of the interactions between the aspects and the base classes with which the aspects are woven. Coverage metrics, such as joinpoint coverage, address faults resulting from the changes in base class control flow that may be introduced by the woven advices. Definitions of joinpoint coverage in the literature typically require counting the execution of aspects at each joinpoint. We present a tool for measuring joinpoint coverage from two perspectives: per advice, which measures the execution of the advice at each joinpoint it is woven into, and per class, which measures the execution of all the advices in each joinpoint in the class. This gives a more detailed measurement of joinpoint coverage and helps in identifying what more needs to be tested in both the base class and the aspect. The tool is based on AspectJ and Java bytecode, and thus, does not require any source code. We demonstrate the use of our tool to measure the joinpoint coverage of test inputs generated by Xie and Zhao's Aspectra framework.","PeriodicalId":448275,"journal":{"name":"2008 19th International Symposium on Software Reliability Engineering (ISSRE)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127817405","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}
引用次数: 9
The Feasibility of Automated Feedback-Directed Specification-Based Test Generation: A Case Study of a High-Assurance Operating System 自动化反馈导向的基于规范的测试生成的可行性:一个高保证操作系统的案例研究
S. Weber, A. Paradkar, S. McIntosh, David C. Toll, P. Karger, M. Kaplan, E. Palmer
In this paper, we describe results of a case study to establish the feasibility of deriving mappings between an abstract user level specification and the code elements in a concrete implementation of a highly secure smart card operating system. Such a mapping is necessary for feedback-directed specification-based test generation to improve code coverage, needed by the stringent criteria for high-assurance systems. We used test cases generated from the user level specification to identify the executed code elements and attempted to use static analysis to map the unexecuted code elements to the corresponding elements in the user level specification. Our primary result is evidence that, given a sufficiently expressive user level specification and a test generation system that is able to effectively use such a specification, the resulting tests will cover the vast majority of the code branches that are able to be covered. Therefore, the benefit of a feedback-directed system will be limited. We further provide evidence that the static analysis required to generate feedback in these cases tends to be difficult, involving inferring the semantics of the internal implementation of data structures. In particular, we observed that the internal states at the implementation level in a high security application pose significant challenges to this mapping process.
在本文中,我们描述了一个案例研究的结果,以建立在一个高度安全的智能卡操作系统的具体实现中推导抽象用户级规范和代码元素之间映射的可行性。这样的映射对于反馈导向的基于规范的测试生成是必要的,以提高代码覆盖率,这是高保证系统的严格标准所需要的。我们使用从用户级规范生成的测试用例来识别已执行的代码元素,并尝试使用静态分析将未执行的代码元素映射到用户级规范中的相应元素。我们的主要结果证明,给定一个充分表达的用户级规范和一个能够有效地使用这种规范的测试生成系统,所得到的测试将覆盖能够覆盖的绝大多数代码分支。因此,反馈导向系统的好处将是有限的。我们进一步提供的证据表明,在这些情况下生成反馈所需的静态分析往往是困难的,涉及推断数据结构内部实现的语义。特别是,我们观察到高安全性应用程序中实现级别的内部状态对该映射过程构成了重大挑战。
{"title":"The Feasibility of Automated Feedback-Directed Specification-Based Test Generation: A Case Study of a High-Assurance Operating System","authors":"S. Weber, A. Paradkar, S. McIntosh, David C. Toll, P. Karger, M. Kaplan, E. Palmer","doi":"10.1109/ISSRE.2008.33","DOIUrl":"https://doi.org/10.1109/ISSRE.2008.33","url":null,"abstract":"In this paper, we describe results of a case study to establish the feasibility of deriving mappings between an abstract user level specification and the code elements in a concrete implementation of a highly secure smart card operating system. Such a mapping is necessary for feedback-directed specification-based test generation to improve code coverage, needed by the stringent criteria for high-assurance systems. We used test cases generated from the user level specification to identify the executed code elements and attempted to use static analysis to map the unexecuted code elements to the corresponding elements in the user level specification. Our primary result is evidence that, given a sufficiently expressive user level specification and a test generation system that is able to effectively use such a specification, the resulting tests will cover the vast majority of the code branches that are able to be covered. Therefore, the benefit of a feedback-directed system will be limited. We further provide evidence that the static analysis required to generate feedback in these cases tends to be difficult, involving inferring the semantics of the internal implementation of data structures. In particular, we observed that the internal states at the implementation level in a high security application pose significant challenges to this mapping process.","PeriodicalId":448275,"journal":{"name":"2008 19th International Symposium on Software Reliability Engineering (ISSRE)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123892758","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}
引用次数: 4
Automated Support for Propagating Bug Fixes 自动支持传播错误修复
Boya Sun, Ray-Yaung Chang, Xianghao Chen, Andy Podgurski
We present empirical results indicating that when programmers fix bugs, they often fail to propagate the fixes to all of the locations in a code base where they are applicable, thereby leaving instances of the bugs in the code. We propose a practical approach to help programmers to propagate many bug fixes completely. This entails first extracting a programming rule from a bug fix, in the form of a graph minor of an enhanced procedure dependence graph. Our approach assists the programmer in specifying rules by automatically matching simple rule templates; the programmer may also edit rules or compose them from scratch. A graph matching algorithm for detecting rule violations is then used to locate the places in the code base where the bug fix is applicable. Our approach does not require that rules occur repeatedly in the code base. We present empirical results indicating that the approach nevertheless exhibits good precision.
我们提供的经验结果表明,当程序员修复错误时,他们经常不能将修复传播到代码库中所有适用的位置,从而在代码中留下错误的实例。我们提出了一种实用的方法来帮助程序员完全传播许多错误修复。这需要首先以增强过程依赖图的小图的形式从错误修复中提取编程规则。我们的方法通过自动匹配简单的规则模板来帮助程序员指定规则;程序员也可以编辑规则或从头开始编写规则。然后使用用于检测规则违反的图匹配算法来定位代码库中适用错误修复的位置。我们的方法不要求规则在代码库中重复出现。我们提出的实证结果表明,该方法仍然表现出良好的精度。
{"title":"Automated Support for Propagating Bug Fixes","authors":"Boya Sun, Ray-Yaung Chang, Xianghao Chen, Andy Podgurski","doi":"10.1109/ISSRE.2008.29","DOIUrl":"https://doi.org/10.1109/ISSRE.2008.29","url":null,"abstract":"We present empirical results indicating that when programmers fix bugs, they often fail to propagate the fixes to all of the locations in a code base where they are applicable, thereby leaving instances of the bugs in the code. We propose a practical approach to help programmers to propagate many bug fixes completely. This entails first extracting a programming rule from a bug fix, in the form of a graph minor of an enhanced procedure dependence graph. Our approach assists the programmer in specifying rules by automatically matching simple rule templates; the programmer may also edit rules or compose them from scratch. A graph matching algorithm for detecting rule violations is then used to locate the places in the code base where the bug fix is applicable. Our approach does not require that rules occur repeatedly in the code base. We present empirical results indicating that the approach nevertheless exhibits good precision.","PeriodicalId":448275,"journal":{"name":"2008 19th International Symposium on Software Reliability Engineering (ISSRE)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128920332","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}
引用次数: 11
Modeling the Software Failure Correlations When Test Automation Is Adopted during the Software Development 软件开发过程中采用测试自动化时的软件故障相关性建模
Chu-Ti Lin, Chin-Yu Huang
With the growing scale of software system, assuring software quality through automated testing becomes increasingly important. When automated testing is involved in software development, the uncertainty caused by automated test failures should not be ignored. Besides, the modification of tested software may introduce some potential faults and further invalidate some test scripts, which may lead to the failed outcomes. Based on the facts, we will propose a Markov renewal process (MRP) to model the correlation among software runs during the software development. The use of the proposed modeling framework is illustrated through an example. Compared to previous work, the proposed framework indeed addresses the influence of test automation and provides more useful information.
随着软件系统规模的不断扩大,通过自动化测试来保证软件质量变得越来越重要。当软件开发中涉及到自动化测试时,由自动化测试失败引起的不确定性不应该被忽视。此外,对被测软件的修改可能会引入一些潜在的错误,从而使一些测试脚本失效,从而导致失败的结果。基于这些事实,我们将提出一个马尔可夫更新过程(MRP)来建模软件开发过程中软件运行之间的相关性。通过一个示例说明了所提出的建模框架的使用。与以前的工作相比,提出的框架确实解决了测试自动化的影响,并提供了更多有用的信息。
{"title":"Modeling the Software Failure Correlations When Test Automation Is Adopted during the Software Development","authors":"Chu-Ti Lin, Chin-Yu Huang","doi":"10.1109/ISSRE.2008.34","DOIUrl":"https://doi.org/10.1109/ISSRE.2008.34","url":null,"abstract":"With the growing scale of software system, assuring software quality through automated testing becomes increasingly important. When automated testing is involved in software development, the uncertainty caused by automated test failures should not be ignored. Besides, the modification of tested software may introduce some potential faults and further invalidate some test scripts, which may lead to the failed outcomes. Based on the facts, we will propose a Markov renewal process (MRP) to model the correlation among software runs during the software development. The use of the proposed modeling framework is illustrated through an example. Compared to previous work, the proposed framework indeed addresses the influence of test automation and provides more useful information.","PeriodicalId":448275,"journal":{"name":"2008 19th International Symposium on Software Reliability Engineering (ISSRE)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132506613","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}
引用次数: 1
Replication vs. Failure Prevention - How to Boost Service Availability? 复制与故障预防——如何提高服务可用性?
Felix Salfner, K. Wolter
The objective of this paper is to provide a first analysis of the effectiveness of simple server replication vs. failure prevention in non-high-availability applications. We analyze service availability for a system with N servers where each server is modeled as a finite queue subject to failures. A Petri net analysis suggests that service availability is most effectively improved by server duplication, but for further improvement the combination with failure prevention seems most effective.
本文的目的是首次分析在非高可用性应用程序中简单服务器复制与故障预防的有效性。我们分析了一个有N个服务器的系统的服务可用性,其中每个服务器都被建模为一个有限的队列,可能会出现故障。Petri网分析表明,通过服务器复制最有效地提高了服务的可用性,但为了进一步改进,与故障预防相结合似乎是最有效的。
{"title":"Replication vs. Failure Prevention - How to Boost Service Availability?","authors":"Felix Salfner, K. Wolter","doi":"10.1109/ISSRE.2008.52","DOIUrl":"https://doi.org/10.1109/ISSRE.2008.52","url":null,"abstract":"The objective of this paper is to provide a first analysis of the effectiveness of simple server replication vs. failure prevention in non-high-availability applications. We analyze service availability for a system with N servers where each server is modeled as a finite queue subject to failures. A Petri net analysis suggests that service availability is most effectively improved by server duplication, but for further improvement the combination with failure prevention seems most effective.","PeriodicalId":448275,"journal":{"name":"2008 19th International Symposium on Software Reliability Engineering (ISSRE)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132316160","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}
引用次数: 1
Exploring Quality Metrics to Support Defect Management Process in a Multi-site Organization - A Case Study 探索在多站点组织中支持缺陷管理过程的质量度量-一个案例研究
K. Korhonen, O. Salo
In large software development projects, the number of defects can be considerably high and defect management can become even more challenging when the development is distributed over several sites. Defect reduction solutions and commonly agreed defect management methods are needed to handle the defects and to meet the target quality level of the software, measured by the number of open defects. In this study, a combination of three quality metrics was used to support the defect management process in four consecutive multi-site software development programs involving several hundred people, and the result was compared to a program not using the described quality criteria set. According to the results, defect closing speed was improved, the number of open defects was reduced, and defects were reported earlier in programs that were using the quality metrics.
在大型软件开发项目中,缺陷的数量可能相当高,并且当开发分布在几个站点上时,缺陷管理可能变得更具挑战性。需要缺陷减少解决方案和普遍同意的缺陷管理方法来处理缺陷并满足软件的目标质量水平,通过公开缺陷的数量来度量。在这项研究中,三个质量度量标准的组合被用来支持四个连续的涉及几百人的多站点软件开发计划中的缺陷管理过程,并且结果与不使用所描述的质量标准集的计划进行比较。根据结果,缺陷关闭的速度提高了,开放缺陷的数量减少了,并且在使用质量度量的程序中更早地报告了缺陷。
{"title":"Exploring Quality Metrics to Support Defect Management Process in a Multi-site Organization - A Case Study","authors":"K. Korhonen, O. Salo","doi":"10.1109/ISSRE.2008.20","DOIUrl":"https://doi.org/10.1109/ISSRE.2008.20","url":null,"abstract":"In large software development projects, the number of defects can be considerably high and defect management can become even more challenging when the development is distributed over several sites. Defect reduction solutions and commonly agreed defect management methods are needed to handle the defects and to meet the target quality level of the software, measured by the number of open defects. In this study, a combination of three quality metrics was used to support the defect management process in four consecutive multi-site software development programs involving several hundred people, and the result was compared to a program not using the described quality criteria set. According to the results, defect closing speed was improved, the number of open defects was reduced, and defects were reported earlier in programs that were using the quality metrics.","PeriodicalId":448275,"journal":{"name":"2008 19th International Symposium on Software Reliability Engineering (ISSRE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130844078","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}
引用次数: 13
Using Fault Modeling in Safety Cases 在安全案例中使用故障建模
R. Lutz, A. Patterson-Hine
For many safety-critical systems a safety case is built as part of the certification or acceptance process. The safety case assembles evidence to justify that the design and implementation of a system avoid hazardous software behavior. Fault modeling and analysis can provide a rich source of evidence that the design meets safety goals. However, there is currently little guidance available to bridge the gap between the fault modeling that developers perform and the mandated safety case. In this experience report we describe results and open issues from an investigation of how evidence from software tool supported fault modeling and analysis of a spacecraft power system could assist in safety-case construction. The ways in which the software fault models can provide evidence for the safety case appears to be applicable to other critical systems.
对于许多安全关键型系统,建立安全案例是作为认证或验收过程的一部分。安全案例收集证据来证明系统的设计和实现避免了危险的软件行为。故障建模和分析可以为设计满足安全目标提供丰富的证据来源。然而,目前很少有可用的指导来弥合开发人员执行的故障建模和强制安全案例之间的差距。在这份经验报告中,我们描述了一项调查的结果和悬而未决的问题,即来自软件工具的证据如何支持航天器动力系统的故障建模和分析,以协助安全案例的构建。软件故障模型为安全案例提供证据的方法似乎也适用于其他关键系统。
{"title":"Using Fault Modeling in Safety Cases","authors":"R. Lutz, A. Patterson-Hine","doi":"10.1109/ISSRE.2008.13","DOIUrl":"https://doi.org/10.1109/ISSRE.2008.13","url":null,"abstract":"For many safety-critical systems a safety case is built as part of the certification or acceptance process. The safety case assembles evidence to justify that the design and implementation of a system avoid hazardous software behavior. Fault modeling and analysis can provide a rich source of evidence that the design meets safety goals. However, there is currently little guidance available to bridge the gap between the fault modeling that developers perform and the mandated safety case. In this experience report we describe results and open issues from an investigation of how evidence from software tool supported fault modeling and analysis of a spacecraft power system could assist in safety-case construction. The ways in which the software fault models can provide evidence for the safety case appears to be applicable to other critical systems.","PeriodicalId":448275,"journal":{"name":"2008 19th International Symposium on Software Reliability Engineering (ISSRE)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126850746","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}
引用次数: 11
Using an RBF Neural Network to Locate Program Bugs 利用RBF神经网络定位程序缺陷
W. E. Wong, Yan Shi, Yu Qi, R. Golden
We propose an RBF (radial basis function) neural network-based fault localization method to help programmers locate bugs in a more effective way. An RBF neural network with a three-layer feed-forward structure is employed to learn the relationship between the statement coverage of a test case and its corresponding execution result. The trained network is then given as input a set of virtual test cases, each covering only a single statement. The output of the network for each test case is considered to be the suspiciousness of the corresponding statement; a statement with a higher suspiciousness has a higher likelihood of containing a bug. The set of statements ranked in descending order by their suspiciousness are then examined by programmers one by one until a bug is located. Three case studies on different programs (space, grep and make) were conducted with each faulty version having exactly one bug. An additional program gcc was also used to demonstrate the concept of extending the proposed method to programs with multiple bugs. Our experimental data suggest that an RBF neural network-based fault localization method is more effective in locating a program bug (by examining less code before the first faulty statement containing the bug is identified) than another popular method, Tarantula, which also uses the coverage and execution results to compute the suspiciousness of each statement.
我们提出了一种基于径向基函数(RBF)神经网络的故障定位方法,以帮助程序员更有效地定位故障。采用三层前馈结构的RBF神经网络学习测试用例的语句覆盖率与其对应的执行结果之间的关系。然后将训练过的网络作为输入给出一组虚拟测试用例,每个用例只覆盖一条语句。将网络对每个测试用例的输出视为对相应语句的怀疑程度;怀疑程度越高的语句包含错误的可能性越大。然后由程序员逐个检查按可疑程度降序排列的语句集,直到找到错误。对不同的程序(space, grep和make)进行了三个案例研究,每个错误版本都有一个错误。另外还使用了一个程序gcc来演示将所建议的方法扩展到具有多个错误的程序的概念。我们的实验数据表明,基于RBF神经网络的故障定位方法在定位程序错误(通过在识别包含错误的第一个错误语句之前检查更少的代码)方面比另一种流行的方法Tarantula更有效,后者也使用覆盖率和执行结果来计算每个语句的可疑性。
{"title":"Using an RBF Neural Network to Locate Program Bugs","authors":"W. E. Wong, Yan Shi, Yu Qi, R. Golden","doi":"10.1109/ISSRE.2008.15","DOIUrl":"https://doi.org/10.1109/ISSRE.2008.15","url":null,"abstract":"We propose an RBF (radial basis function) neural network-based fault localization method to help programmers locate bugs in a more effective way. An RBF neural network with a three-layer feed-forward structure is employed to learn the relationship between the statement coverage of a test case and its corresponding execution result. The trained network is then given as input a set of virtual test cases, each covering only a single statement. The output of the network for each test case is considered to be the suspiciousness of the corresponding statement; a statement with a higher suspiciousness has a higher likelihood of containing a bug. The set of statements ranked in descending order by their suspiciousness are then examined by programmers one by one until a bug is located. Three case studies on different programs (space, grep and make) were conducted with each faulty version having exactly one bug. An additional program gcc was also used to demonstrate the concept of extending the proposed method to programs with multiple bugs. Our experimental data suggest that an RBF neural network-based fault localization method is more effective in locating a program bug (by examining less code before the first faulty statement containing the bug is identified) than another popular method, Tarantula, which also uses the coverage and execution results to compute the suspiciousness of each statement.","PeriodicalId":448275,"journal":{"name":"2008 19th International Symposium on Software Reliability Engineering (ISSRE)","volume":"65 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122539136","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
期刊
2008 19th International Symposium on Software Reliability Engineering (ISSRE)
全部 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学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1