Pub Date : 2018-10-01DOI: 10.1109/ISSREW.2018.00-32
K. Jinzenji, D. Hamuro
Agile software development is gradually increasing recently, while metrics for productivity of existing methodology such as plan-driven development are not always suitable for agile development. In addition, existing metrics such as velocity are effective for developers by measuring micro status, but they occasionally do not indicate macro status such as QCD (quality, cost, and delivery) for management such as PMO (project management office). We propose a new QCD concept and prediction scheme for agile software development featuring "value" delivery that comes from LEAN. Experimental result shows measured and predicted project quality and development period can be utilizing personnel and budget assignment.
{"title":"A Concept of QCD Prediction and Control in Agile Software Development for Portfolio Management","authors":"K. Jinzenji, D. Hamuro","doi":"10.1109/ISSREW.2018.00-32","DOIUrl":"https://doi.org/10.1109/ISSREW.2018.00-32","url":null,"abstract":"Agile software development is gradually increasing recently, while metrics for productivity of existing methodology such as plan-driven development are not always suitable for agile development. In addition, existing metrics such as velocity are effective for developers by measuring micro status, but they occasionally do not indicate macro status such as QCD (quality, cost, and delivery) for management such as PMO (project management office). We propose a new QCD concept and prediction scheme for agile software development featuring \"value\" delivery that comes from LEAN. Experimental result shows measured and predicted project quality and development period can be utilizing personnel and budget assignment.","PeriodicalId":321448,"journal":{"name":"2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130035845","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}
Pub Date : 2018-10-01DOI: 10.1109/issrew.2018.00-53
{"title":"Message from the ISSRE 2018 Fast Abstracts Track Chair","authors":"","doi":"10.1109/issrew.2018.00-53","DOIUrl":"https://doi.org/10.1109/issrew.2018.00-53","url":null,"abstract":"","PeriodicalId":321448,"journal":{"name":"2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128098872","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}
In software development, there is a great demand for online information and resources. The traditional way for the developers to access online resources is through formulating keywords and searching in the web browser. The search results are limited by the keywords and the web browser also ignores the developers' working and search context. Tools that integrate information retrieval into the IDE are available, but they fail to perceive the developers' dynamic working context and use in the process of online search. In this paper, we present a context-aware program assistant called amAssist. amAssist monitors the developers' development events and models their working context dynamically, then integrates them with the entire online search process~(e.g. keywords formulation, customized searching, search results annotation, etc.). We integrate amAssist into the Eclipse IDE. Our preliminary user study showed that by using our program assistant, developers can formulate keywords more accurately and acquire online information and resources more rapidly. Demo video: https://youtu.be/X4Tkjhc6wfU
{"title":"A Smart Context-Aware Program Assistant Based on Dynamic Programming Event Modeling","authors":"Xuejiao Zhao, HongWei Li, Yutian Tang, Dongjing Gao, Lingfeng Bao, Ching-Hung Lee","doi":"10.1109/ISSREW.2018.00-36","DOIUrl":"https://doi.org/10.1109/ISSREW.2018.00-36","url":null,"abstract":"In software development, there is a great demand for online information and resources. The traditional way for the developers to access online resources is through formulating keywords and searching in the web browser. The search results are limited by the keywords and the web browser also ignores the developers' working and search context. Tools that integrate information retrieval into the IDE are available, but they fail to perceive the developers' dynamic working context and use in the process of online search. In this paper, we present a context-aware program assistant called amAssist. amAssist monitors the developers' development events and models their working context dynamically, then integrates them with the entire online search process~(e.g. keywords formulation, customized searching, search results annotation, etc.). We integrate amAssist into the Eclipse IDE. Our preliminary user study showed that by using our program assistant, developers can formulate keywords more accurately and acquire online information and resources more rapidly. Demo video: https://youtu.be/X4Tkjhc6wfU","PeriodicalId":321448,"journal":{"name":"2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128856162","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}
Pub Date : 2018-10-01DOI: 10.1109/ISSREW.2018.00-18
Zuohua Ding, W. Jiang, Mingyue Jiang, Zhi Jin, He Jiang
An intelligent software system consists of intelligent components, fundamentally modeled by neural networks, and traditional software components, in which the intelligent components are responsible to make decisions. Thus, intelligent systems can adapt to environment changes in the running time. However, due to the fact that a neural network highly relies on the training data, its structure and quality are both uncertain. These uncertainties will be passed to the rest of the software system by the intelligent components. This paper presents a framework to model checking such kind of intelligent system software.
{"title":"Model Checking the Uncertainties in Software Systems Introduced by Intelligent Components","authors":"Zuohua Ding, W. Jiang, Mingyue Jiang, Zhi Jin, He Jiang","doi":"10.1109/ISSREW.2018.00-18","DOIUrl":"https://doi.org/10.1109/ISSREW.2018.00-18","url":null,"abstract":"An intelligent software system consists of intelligent components, fundamentally modeled by neural networks, and traditional software components, in which the intelligent components are responsible to make decisions. Thus, intelligent systems can adapt to environment changes in the running time. However, due to the fact that a neural network highly relies on the training data, its structure and quality are both uncertain. These uncertainties will be passed to the rest of the software system by the intelligent components. This paper presents a framework to model checking such kind of intelligent system software.","PeriodicalId":321448,"journal":{"name":"2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130647562","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}
Pub Date : 2018-10-01DOI: 10.1109/ISSREW.2018.000-3
P. Vizarreta
The recent trend of Industry 4.0 promotes the concepts of "industrial internet and digital factory", which requires the transformation of local industrial networks, as well as wide area networks carrying industrial traffic. Softwarized network architectures, i.e., Software Defined Networking (SDN) and Network Function Virtualization (NFV), can aid this transition by providing a fine grained network traffic control and high degree of programmability, with open standards and protocol stack. While first studies and prototypes have demonstrated the feasibility of SDN/NFV based networks, a comprehensive study of dependability of softwarized networks is still missing in state of the art literature. Recent studies on reliability in softwarzed network have focused mainly on the network failures, while the reliability of software functions has been widely overlooked or oversimplified. Our research aims to close this gap, by providing the contribution in three following areas: i) evaluation and forecasting of the reliability of control plane functions, ii) characterization of failure dynamics between control and data plane, and iii) design of robust wide area networks in the presence of software and network failures.
{"title":"Modelling, Design and Optimization of Dependable Softwarized Networks for Industrial Applications","authors":"P. Vizarreta","doi":"10.1109/ISSREW.2018.000-3","DOIUrl":"https://doi.org/10.1109/ISSREW.2018.000-3","url":null,"abstract":"The recent trend of Industry 4.0 promotes the concepts of \"industrial internet and digital factory\", which requires the transformation of local industrial networks, as well as wide area networks carrying industrial traffic. Softwarized network architectures, i.e., Software Defined Networking (SDN) and Network Function Virtualization (NFV), can aid this transition by providing a fine grained network traffic control and high degree of programmability, with open standards and protocol stack. While first studies and prototypes have demonstrated the feasibility of SDN/NFV based networks, a comprehensive study of dependability of softwarized networks is still missing in state of the art literature. Recent studies on reliability in softwarzed network have focused mainly on the network failures, while the reliability of software functions has been widely overlooked or oversimplified. Our research aims to close this gap, by providing the contribution in three following areas: i) evaluation and forecasting of the reliability of control plane functions, ii) characterization of failure dynamics between control and data plane, and iii) design of robust wide area networks in the presence of software and network failures.","PeriodicalId":321448,"journal":{"name":"2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130758181","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}
Pub Date : 2018-10-01DOI: 10.1109/ISSREW.2018.00-39
Ayako Ureshino, Y. Nishi, S. Yoshizawa, Makoto Nonaka, Makiko Asai
Reviewing is a key technology to software reliability engineering. One of the most important purposes of reviewing is to detect faults. There are various sorts of reviewing techniques proposed such as Defect-based Reading and Orthogonal Defect Classification, which focus on fault. In this research, we focus on "trap" in a developer's cognitive process. A trap is a part of a deliverable or its pattern that induces an engineer to make an error and to embed a fault. Firstly, this paper models the cognitive process called Software Trap model and proposes Trap-based Review (TBR). Secondly, we introduce three traps which were extracted from commercial software development. Then the steps for TBR are also explained. Finally, we show case studies to evaluate effectiveness of TBR in commercial software product in a financial domain. The result showed that TBR succeeded in detecting the faults that were not detected through commercial software development. This paper also mentions how the trap-based approach can be applied to dynamic testing.
{"title":"Trap-Based Software Review: How Will Engineers Embed Bugs Due to Cognitive Error?","authors":"Ayako Ureshino, Y. Nishi, S. Yoshizawa, Makoto Nonaka, Makiko Asai","doi":"10.1109/ISSREW.2018.00-39","DOIUrl":"https://doi.org/10.1109/ISSREW.2018.00-39","url":null,"abstract":"Reviewing is a key technology to software reliability engineering. One of the most important purposes of reviewing is to detect faults. There are various sorts of reviewing techniques proposed such as Defect-based Reading and Orthogonal Defect Classification, which focus on fault. In this research, we focus on \"trap\" in a developer's cognitive process. A trap is a part of a deliverable or its pattern that induces an engineer to make an error and to embed a fault. Firstly, this paper models the cognitive process called Software Trap model and proposes Trap-based Review (TBR). Secondly, we introduce three traps which were extracted from commercial software development. Then the steps for TBR are also explained. Finally, we show case studies to evaluate effectiveness of TBR in commercial software product in a financial domain. The result showed that TBR succeeded in detecting the faults that were not detected through commercial software development. This paper also mentions how the trap-based approach can be applied to dynamic testing.","PeriodicalId":321448,"journal":{"name":"2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"31 8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127707025","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}
Pub Date : 2018-10-01DOI: 10.1109/ISSREW.2018.00-29
A. Nikora, L. Fiondella, T. Wandji
Since its release in the mid-1990s, the Microsoft Windows-based software reliability modeling tool CASRE has been downloaded over 3000 times from the Open Channel Foundation's website. It was also included on the CDROM distributed with the Handbook of Software Reliability Engineering (M. Lyu, ed). In the years since it was first released, however, CASRE has become more difficult to use. This is mainly because there have been no updates since 2000. The last version of Windows on which CASRE would reliably execute was Windows XP, and since it was developed explicitly for Windows, it is not feasible to run it on other platforms. Software development and acquisition organizations continued to be interested in using tools of the same type as CASRE. In 2013, the U.S. Naval Air Systems Command (NAVAIR) contacted the authors at the Jet Propulsion Laboratory and the University of Massachusetts to determine whether a) CASRE could be modified to run in contemporary environments, or b) whether a new tool with the same functionality as CASRE could be developed with modern programming languages and techniques. After weighing the alternatives, a decision was made to develop a new tool rather than updating CASRE. There were several reasons for which this decision was made. First of all, CASRE had been developed with the programming languages available at the time, in this case C and Fortran. Developing a new tool would allow use of modern, expressive languages and development environments that were particularly well suited to the statistical modeling domain (e.g., R, RStudio). Developing a new tool would also allow us to implement it so that it would run in modern operating environments, specifically Windows, Mac OS, Unix, and Linux. This last design decision would make it possible for users who would not have been able to run CASRE to use the new tool. We wanted to address the difficulty of adding new models to CASRE, since it was not architected for ease of modification. We wanted to develop a tool for which it would be easy to add new models and model evaluation techniques (e.g., prequential likelihood ratio, Akaike Information Criterion). This would enable organizations already using software reliability modeling to manage their testing to place the models they were using into a common framework, making it easier to evaluate multiple sets of results to gain additional insight into their testing process. Researchers would also gain an advantage by having a common framework in which to work with multiple models, analyze their results, and identify relationships among them. Finally, this would make it practical to distribute as open-source software, to which contributors could add new models and evaluation techniques as they were developed by the research community and validated by practitioners. We have used these ideas to develop the Software Failure and Reliability Assessment Tool (SFRAT). It is implemented in R, uses the Shiny user interface package, and wi
自20世纪90年代中期发布以来,基于Microsoft windows的软件可靠性建模工具CASRE已经从开放通道基金会的网站上被下载了3000多次。它也包含在与软件可靠性工程手册(M. Lyu,编辑)一起分发的CDROM中。然而,自从它首次发布以来,CASRE已经变得越来越难以使用。这主要是因为自2000年以来没有更新。CASRE能够可靠执行的最后一个Windows版本是Windows XP,由于它是明确为Windows开发的,因此在其他平台上运行它是不可行的。软件开发和获取组织继续对使用与CASRE相同类型的工具感兴趣。2013年,美国海军航空系统司令部(NAVAIR)联系了喷气推进实验室和马萨诸塞大学的作者,以确定是否a) CASRE可以修改以在当代环境中运行,或者b)是否可以使用现代编程语言和技术开发具有与CASRE相同功能的新工具。在权衡了备选方案之后,决定开发一种新工具,而不是更新CASRE。作出这一决定有几个原因。首先,CASRE是用当时可用的编程语言开发的,在这里是C和Fortran。开发一个新工具将允许使用现代的、富有表现力的语言和开发环境,这些语言和环境特别适合统计建模领域(例如,R, RStudio)。开发一个新工具也将允许我们实现它,以便它可以在现代操作环境中运行,特别是Windows, Mac OS, Unix和Linux。这个最后的设计决定将使得那些不能运行CASRE的用户能够使用这个新工具。我们想解决向CASRE添加新模型的困难,因为它的架构不是为了易于修改而设计的。我们想要开发一种工具,它可以很容易地添加新的模型和模型评估技术(例如,先验似然比,赤池信息标准)。这将使已经使用软件可靠性建模的组织能够管理他们的测试,将他们正在使用的模型放置到一个公共框架中,使评估多组结果更加容易,从而获得对测试过程的额外了解。研究人员还将通过拥有一个共同的框架来获得一个优势,在这个框架中可以处理多个模型,分析它们的结果,并确定它们之间的关系。最后,这将使作为开源软件分发变得可行,贡献者可以添加新的模型和评估技术,因为它们是由研究社区开发并由实践者验证的。我们利用这些思想开发了软件故障和可靠性评估工具(SFRAT)。它是用R实现的,使用Shiny用户界面包,可以在任何R和RStudio可以运行的环境中运行。我们打算让它成为一个开源工具,为贡献者提供添加新功能的机制。我们的希望是,将SFRAT作为开源软件分发,将允许它在软件可靠性实践和研究社区中保持流行。
{"title":"SFRAT – An Extendable Software Reliability Assessment Tool","authors":"A. Nikora, L. Fiondella, T. Wandji","doi":"10.1109/ISSREW.2018.00-29","DOIUrl":"https://doi.org/10.1109/ISSREW.2018.00-29","url":null,"abstract":"Since its release in the mid-1990s, the Microsoft Windows-based software reliability modeling tool CASRE has been downloaded over 3000 times from the Open Channel Foundation's website. It was also included on the CDROM distributed with the Handbook of Software Reliability Engineering (M. Lyu, ed). In the years since it was first released, however, CASRE has become more difficult to use. This is mainly because there have been no updates since 2000. The last version of Windows on which CASRE would reliably execute was Windows XP, and since it was developed explicitly for Windows, it is not feasible to run it on other platforms. Software development and acquisition organizations continued to be interested in using tools of the same type as CASRE. In 2013, the U.S. Naval Air Systems Command (NAVAIR) contacted the authors at the Jet Propulsion Laboratory and the University of Massachusetts to determine whether a) CASRE could be modified to run in contemporary environments, or b) whether a new tool with the same functionality as CASRE could be developed with modern programming languages and techniques. After weighing the alternatives, a decision was made to develop a new tool rather than updating CASRE. There were several reasons for which this decision was made. First of all, CASRE had been developed with the programming languages available at the time, in this case C and Fortran. Developing a new tool would allow use of modern, expressive languages and development environments that were particularly well suited to the statistical modeling domain (e.g., R, RStudio). Developing a new tool would also allow us to implement it so that it would run in modern operating environments, specifically Windows, Mac OS, Unix, and Linux. This last design decision would make it possible for users who would not have been able to run CASRE to use the new tool. We wanted to address the difficulty of adding new models to CASRE, since it was not architected for ease of modification. We wanted to develop a tool for which it would be easy to add new models and model evaluation techniques (e.g., prequential likelihood ratio, Akaike Information Criterion). This would enable organizations already using software reliability modeling to manage their testing to place the models they were using into a common framework, making it easier to evaluate multiple sets of results to gain additional insight into their testing process. Researchers would also gain an advantage by having a common framework in which to work with multiple models, analyze their results, and identify relationships among them. Finally, this would make it practical to distribute as open-source software, to which contributors could add new models and evaluation techniques as they were developed by the research community and validated by practitioners. We have used these ideas to develop the Software Failure and Reliability Assessment Tool (SFRAT). It is implemented in R, uses the Shiny user interface package, and wi","PeriodicalId":321448,"journal":{"name":"2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"281 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132484597","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}
Pub Date : 2018-10-01DOI: 10.1109/ISSREW.2018.00007
Long Zhang, Zhenyu Zhang
Many software failures are caused by faults in programs. Fault localization is always a difficult task in program debugging, and the spectrum-based fault localization (SBFL in short) is a popular approach. A SBFL technique collects code coverage of program runs, and estimates to what extent individual program entities correlate to the failed runs. We have empirically reported that referencing debugging history can effectively alleviate the impact of program structure on the accuracy of SBFL techniques. However, referencing all test cases indistinguishably may have adverse effects. In this paper, we propose a novel technique SeTCHi, which differentiates test cases according to their coverage and test outputs, and refines SBFL with the means to select supporting test cases with respect to program entities and history program versions. We also conduct an empirical study, which shows that SeTCHi can significantly improve the accuracy of fault localization based on state-of-the-art techniques.
{"title":"SeTCHi: Selecting Test Cases to Improve History-Guided Fault Localization","authors":"Long Zhang, Zhenyu Zhang","doi":"10.1109/ISSREW.2018.00007","DOIUrl":"https://doi.org/10.1109/ISSREW.2018.00007","url":null,"abstract":"Many software failures are caused by faults in programs. Fault localization is always a difficult task in program debugging, and the spectrum-based fault localization (SBFL in short) is a popular approach. A SBFL technique collects code coverage of program runs, and estimates to what extent individual program entities correlate to the failed runs. We have empirically reported that referencing debugging history can effectively alleviate the impact of program structure on the accuracy of SBFL techniques. However, referencing all test cases indistinguishably may have adverse effects. In this paper, we propose a novel technique SeTCHi, which differentiates test cases according to their coverage and test outputs, and refines SBFL with the means to select supporting test cases with respect to program entities and history program versions. We also conduct an empirical study, which shows that SeTCHi can significantly improve the accuracy of fault localization based on state-of-the-art techniques.","PeriodicalId":321448,"journal":{"name":"2018 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122836800","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}