首页 > 最新文献

2018 IEEE International Conference on Software Quality, Reliability and Security (QRS)最新文献

英文 中文
Implementing Traceability Repositories as Graph Databases for Software Quality Improvement 实现可追溯性存储库作为图形数据库用于软件质量改进
R. Elamin, Rasha Osman
Traceability identifies dependencies between software artifacts facilitating the impact analysis of modifications to requirements, design and code. There is limited application of traceability in industry due to the complexity of traceability models and lack of tools. In this paper, we present simplified rules to define trace link types. To store and represent trace links, we implement a traceability repository as a native graph database. This is in contrast to other approaches that use structured files for storage or traceability matrices for representation. In addition, we present a methodology to apply our proposed rules to create trace links using three datasets. We demonstrate the advantage of the graph traceability repository over current representation and storage methods in visualizing traceability links, facilitating the derivation of new trace links and in query response times.
可追溯性标识了软件工件之间的依赖关系,促进了对需求、设计和代码修改的影响分析。由于可追溯性模型的复杂性和工具的缺乏,可追溯性在工业中的应用受到限制。本文给出了定义跟踪链路类型的简化规则。为了存储和表示跟踪链接,我们将可跟踪性存储库实现为本机图形数据库。这与使用结构化文件进行存储或使用可跟踪矩阵进行表示的其他方法形成对比。此外,我们还提出了一种方法来应用我们提出的规则来使用三个数据集创建跟踪链接。我们展示了图形跟踪存储库在可视化跟踪链接、促进新跟踪链接的派生和查询响应时间方面优于当前表示和存储方法的优势。
{"title":"Implementing Traceability Repositories as Graph Databases for Software Quality Improvement","authors":"R. Elamin, Rasha Osman","doi":"10.1109/QRS.2018.00040","DOIUrl":"https://doi.org/10.1109/QRS.2018.00040","url":null,"abstract":"Traceability identifies dependencies between software artifacts facilitating the impact analysis of modifications to requirements, design and code. There is limited application of traceability in industry due to the complexity of traceability models and lack of tools. In this paper, we present simplified rules to define trace link types. To store and represent trace links, we implement a traceability repository as a native graph database. This is in contrast to other approaches that use structured files for storage or traceability matrices for representation. In addition, we present a methodology to apply our proposed rules to create trace links using three datasets. We demonstrate the advantage of the graph traceability repository over current representation and storage methods in visualizing traceability links, facilitating the derivation of new trace links and in query response times.","PeriodicalId":114973,"journal":{"name":"2018 IEEE International Conference on Software Quality, Reliability and Security (QRS)","volume":"401 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122787647","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}
引用次数: 8
Mutation Testing for Physical Computing 物理计算的突变测试
Qianqian Zhu, A. Zaidman
Physical computing, which builds interactive systems between the physical world and computers, has been widely used in a wide variety of domains and applications, e.g., the Internet of Things (IoT). Although physical computing has witnessed enormous realisations, testing these physical computing systems still face many challenges, such as potential circuit related bugs which are not part of the software problems, the timing issue which decreasing the testability, etc.; therefore, we proposed a mutation testing approach for physical computing systems to enable engineers to judge the quality of their tests in a more accurate way. The main focus is the communication between the software and peripherals. More particular, we first defined a set of mutation operators based on the common communication errors between the software and peripherals that could happen in the software. We conducted a preliminary experiment on nine physical computing projects based on the Raspberry Pi and Arduino platforms. The results show that our mutation testing method can assess the test suite quality effectively in terms of weakness and inadequacy.
物理计算建立了物理世界和计算机之间的交互系统,已广泛应用于各种领域和应用,例如物联网(IoT)。虽然物理计算已经见证了巨大的实现,但测试这些物理计算系统仍然面临许多挑战,例如潜在的电路相关错误,这些错误不是软件问题的一部分,时间问题降低了可测试性等;因此,我们提出了一种物理计算系统的突变测试方法,使工程师能够更准确地判断其测试的质量。主要的焦点是软件和外设之间的通信。更具体地说,我们首先根据软件和外围设备之间可能发生的常见通信错误定义了一组突变操作符。我们在基于Raspberry Pi和Arduino平台的9个物理计算项目上进行了初步实验。结果表明,我们的突变测试方法可以有效地评估测试套件的弱点和不足之处。
{"title":"Mutation Testing for Physical Computing","authors":"Qianqian Zhu, A. Zaidman","doi":"10.1109/QRS.2018.00042","DOIUrl":"https://doi.org/10.1109/QRS.2018.00042","url":null,"abstract":"Physical computing, which builds interactive systems between the physical world and computers, has been widely used in a wide variety of domains and applications, e.g., the Internet of Things (IoT). Although physical computing has witnessed enormous realisations, testing these physical computing systems still face many challenges, such as potential circuit related bugs which are not part of the software problems, the timing issue which decreasing the testability, etc.; therefore, we proposed a mutation testing approach for physical computing systems to enable engineers to judge the quality of their tests in a more accurate way. The main focus is the communication between the software and peripherals. More particular, we first defined a set of mutation operators based on the common communication errors between the software and peripherals that could happen in the software. We conducted a preliminary experiment on nine physical computing projects based on the Raspberry Pi and Arduino platforms. The results show that our mutation testing method can assess the test suite quality effectively in terms of weakness and inadequacy.","PeriodicalId":114973,"journal":{"name":"2018 IEEE International Conference on Software Quality, Reliability and Security (QRS)","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123287065","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
Model-Based Testing of Obligatory ABAC Systems 基于模型的强制性ABAC系统测试
Samer Y. Khamaiseh, Patrick Chapman, Dianxiang Xu
Attribute-based access control (ABAC) with obligations is a new technique for achieving fine-grained access control and accountability. An obligatory ABAC system can be implemented incorrectly for various reasons, such as programming errors and incorrect access control and obligation specification. To reveal these implementation defects, this paper presents an approach to model-based testing of obligatory ABAC systems. In this approach, we first build a test model by specifying a functional model and an obligatory ABAC policy. The policy represents access control and obligation constraints on the functional model. Then we weave the policy with the functional model into an integrated model that represents both functions under test and access control and obligation constraints on them. Test cases can then be generated from the integrated model. Our approach is built upon MISTA, an open source test code generator that supports a variety of programming languages and test frameworks. To validate our approach, this paper presents a first case study on the development and testing of an open-source obligatory ABAC system. We evaluated the effectiveness of the approach by mutation analysis of the ABAC and obligation rules and the policy enforcement code in the implementation. The result shows that our approach is capable of finding the majority of injected faults.
带义务的基于属性的访问控制(ABAC)是一种实现细粒度访问控制和责任的新技术。强制ABAC系统可能由于编程错误、不正确的访问控制和义务规范等原因而实现不正确。为了揭示这些实现缺陷,本文提出了一种基于模型的强制性ABAC系统测试方法。在这种方法中,我们首先通过指定功能模型和强制ABAC策略来构建测试模型。策略表示功能模型上的访问控制和义务约束。然后,我们将策略与功能模型编织成一个集成模型,该模型既表示测试下的功能,又表示访问控制和对它们的义务约束。然后可以从集成模型中生成测试用例。我们的方法建立在MISTA之上,MISTA是一个支持各种编程语言和测试框架的开放源代码测试代码生成器。为了验证我们的方法,本文提出了一个关于开发和测试开源强制性ABAC系统的第一个案例研究。我们通过对ABAC和义务规则以及策略执行代码在实现中的突变分析来评估该方法的有效性。结果表明,该方法能够找到大多数注入断层。
{"title":"Model-Based Testing of Obligatory ABAC Systems","authors":"Samer Y. Khamaiseh, Patrick Chapman, Dianxiang Xu","doi":"10.1109/QRS.2018.00054","DOIUrl":"https://doi.org/10.1109/QRS.2018.00054","url":null,"abstract":"Attribute-based access control (ABAC) with obligations is a new technique for achieving fine-grained access control and accountability. An obligatory ABAC system can be implemented incorrectly for various reasons, such as programming errors and incorrect access control and obligation specification. To reveal these implementation defects, this paper presents an approach to model-based testing of obligatory ABAC systems. In this approach, we first build a test model by specifying a functional model and an obligatory ABAC policy. The policy represents access control and obligation constraints on the functional model. Then we weave the policy with the functional model into an integrated model that represents both functions under test and access control and obligation constraints on them. Test cases can then be generated from the integrated model. Our approach is built upon MISTA, an open source test code generator that supports a variety of programming languages and test frameworks. To validate our approach, this paper presents a first case study on the development and testing of an open-source obligatory ABAC system. We evaluated the effectiveness of the approach by mutation analysis of the ABAC and obligation rules and the policy enforcement code in the implementation. The result shows that our approach is capable of finding the majority of injected faults.","PeriodicalId":114973,"journal":{"name":"2018 IEEE International Conference on Software Quality, Reliability and Security (QRS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130422323","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
Manifesting Bugs in Machine Learning Code: An Explorative Study with Mutation Testing 在机器学习代码中显示bug:一个带有突变测试的探索性研究
Dawei Cheng, Chun Cao, Chang Xu, Xiaoxing Ma
Nowadays statistical machine learning is widely adopted in various domains such as data mining, image recognition and automated driving. However, software quality assurance for machine learning is still in its infancy. While recent efforts have been put into improving the quality of training data and trained models, this paper focuses on code-level bugs in the implementations of machine learning algorithms. In this explorative study we simulated program bugs by mutating Weka implementations of several classification algorithms. We observed that 8%-40% of the logically non-equivalent executable mutants were statistically indistinguishable from their golden versions. Moreover, other 15%-36% of the mutants were stubborn, as they performed not significantly worse than a reference classifier on at least one natural data set. We also experimented with several approaches to killing those stubborn mutants. Preliminary results indicate that bugs in machine learning code may have negative impacts on statistical properties such as robustness and learning curves, but they could be very difficult to detect, due to the lack of effective oracles.
如今,统计机器学习被广泛应用于数据挖掘、图像识别和自动驾驶等各个领域。然而,机器学习的软件质量保证仍处于起步阶段。虽然最近的努力已经投入到提高训练数据和训练模型的质量,但本文主要关注机器学习算法实现中的代码级错误。在这个探索性研究中,我们通过改变几种分类算法的Weka实现来模拟程序错误。我们观察到,8%-40%的逻辑上不相等的可执行突变体在统计上与它们的黄金版本无法区分。此外,其他15%-36%的突变体是顽固的,因为它们在至少一个自然数据集上的表现并不明显比参考分类器差。我们还试验了几种方法来杀死那些顽固的变种人。初步结果表明,机器学习代码中的bug可能会对鲁棒性和学习曲线等统计属性产生负面影响,但由于缺乏有效的oracle,它们可能很难被检测到。
{"title":"Manifesting Bugs in Machine Learning Code: An Explorative Study with Mutation Testing","authors":"Dawei Cheng, Chun Cao, Chang Xu, Xiaoxing Ma","doi":"10.1109/QRS.2018.00044","DOIUrl":"https://doi.org/10.1109/QRS.2018.00044","url":null,"abstract":"Nowadays statistical machine learning is widely adopted in various domains such as data mining, image recognition and automated driving. However, software quality assurance for machine learning is still in its infancy. While recent efforts have been put into improving the quality of training data and trained models, this paper focuses on code-level bugs in the implementations of machine learning algorithms. In this explorative study we simulated program bugs by mutating Weka implementations of several classification algorithms. We observed that 8%-40% of the logically non-equivalent executable mutants were statistically indistinguishable from their golden versions. Moreover, other 15%-36% of the mutants were stubborn, as they performed not significantly worse than a reference classifier on at least one natural data set. We also experimented with several approaches to killing those stubborn mutants. Preliminary results indicate that bugs in machine learning code may have negative impacts on statistical properties such as robustness and learning curves, but they could be very difficult to detect, due to the lack of effective oracles.","PeriodicalId":114973,"journal":{"name":"2018 IEEE International Conference on Software Quality, Reliability and Security (QRS)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126108508","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}
引用次数: 24
Differencing Graphical User Interfaces 不同的图形用户界面
M. Grechanik, C. W. Mao, Ankush Baisal, D. Rosenblum, B. M. M. Hossain
Graphical User Interface (GUI)-based APplications (GAPs) are ubiquitous and provide a wealth of sophisticated services. Nontrivial GAPs evolve through many versions, and understanding how GUIs of different versions of GAPs differ is crucial for various software quality tasks such as testing, cross-platform UI comparison and project effort estimation. Yet despite the criticality of automating GUI differencing, it is a manual, tedious, and laborious task. We offer a novel approach for differencing GUIs that combines tree edit distance measure algorithms with accessibility technologies for obtaining GUI models in a non-intrusive, platform and language-independent way, and it does not require the source code of GAPs. We developed a tool called GUI DifferEntiator (GUIDE) that allows users to difference GUIs of running GAPs. To evaluate GUIDE, we created an experimental platform that generates random GUIs with controlled differentials among them that serve as oracles. GUIDE enables researchers to plug-and-play various GUI differencing algorithms and to automatically run experiments. We evaluated GUIDE on 5,000 pairs of generated complex GUIs and three open-source GAPs and the results of our evaluation suggest that GUIDE can find differences between GUIs with a high degree of automation and precision.
基于图形用户界面(GUI)的应用程序(gap)无处不在,并提供了大量复杂的服务。重要的gap经历了许多版本的演变,理解不同版本的gap的gui是如何不同的,对于各种软件质量任务(如测试、跨平台UI比较和项目工作量估计)是至关重要的。然而,尽管自动化GUI差异至关重要,但这是一项手工、乏味和费力的任务。我们提出了一种新的区分GUI的方法,该方法将树编辑距离度量算法与可访问性技术相结合,以非侵入性、平台和语言无关的方式获得GUI模型,并且不需要gap的源代码。我们开发了一个名为GUI鉴别器(GUIDE)的工具,它允许用户区分运行gap的GUI。为了评估GUIDE,我们创建了一个实验平台,该平台生成随机gui,这些gui之间具有可控的差异,可以作为oracle。GUIDE使研究人员能够即插即用各种GUI差异算法并自动运行实验。我们在5000对生成的复杂图形界面和3个开源的gap上对GUIDE进行了评估,我们的评估结果表明GUIDE可以高度自动化和精确地发现图形界面之间的差异。
{"title":"Differencing Graphical User Interfaces","authors":"M. Grechanik, C. W. Mao, Ankush Baisal, D. Rosenblum, B. M. M. Hossain","doi":"10.1109/QRS.2018.00034","DOIUrl":"https://doi.org/10.1109/QRS.2018.00034","url":null,"abstract":"Graphical User Interface (GUI)-based APplications (GAPs) are ubiquitous and provide a wealth of sophisticated services. Nontrivial GAPs evolve through many versions, and understanding how GUIs of different versions of GAPs differ is crucial for various software quality tasks such as testing, cross-platform UI comparison and project effort estimation. Yet despite the criticality of automating GUI differencing, it is a manual, tedious, and laborious task. We offer a novel approach for differencing GUIs that combines tree edit distance measure algorithms with accessibility technologies for obtaining GUI models in a non-intrusive, platform and language-independent way, and it does not require the source code of GAPs. We developed a tool called GUI DifferEntiator (GUIDE) that allows users to difference GUIs of running GAPs. To evaluate GUIDE, we created an experimental platform that generates random GUIs with controlled differentials among them that serve as oracles. GUIDE enables researchers to plug-and-play various GUI differencing algorithms and to automatically run experiments. We evaluated GUIDE on 5,000 pairs of generated complex GUIs and three open-source GAPs and the results of our evaluation suggest that GUIDE can find differences between GUIs with a high degree of automation and precision.","PeriodicalId":114973,"journal":{"name":"2018 IEEE International Conference on Software Quality, Reliability and Security (QRS)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125547252","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}
引用次数: 7
Avoiding the Familiar to Speed Up Test Case Reduction 避免熟悉以加速减少测试用例
Golnaz Gharachorlu, Nick Sumner
Delta Debugging is a longstanding approach to automated test case reduction. It divides an input into chunks and attempts to remove them to produce a smaller input. When a chunk is successfully removed, all chunks are revisited, as they may become removable from the smaller input. When no chunk can be removed, the chunks are subdivided and the process continues recursively. In the worst case, this revisiting behavior has an O(n^2) running time. We explore the possibility that good test case reduction can be achieved without revisiting, yielding an O(n) algorithm. We identify three independent conditions that can make this reasonable in practice and validate the hypothesis on a suite of user-reported and fuzzer-generated test cases. Results show that on a suite of large fuzzer-generated test cases for compilers, our O(n) approach yields reduced test cases with similar size, while decreasing the reduction time by 65% on average.
Delta调试是一种长期存在的自动化测试用例减少方法。它将输入分成若干块,并试图删除它们以产生更小的输入。当一个块被成功移除时,所有的块都会被重新访问,因为它们可能会从较小的输入中被移除。当无法删除数据块时,将对数据块进行细分,然后递归地继续该过程。在最坏的情况下,这种重访行为的运行时间为O(n^2)。我们探索了在不重访的情况下实现良好测试用例减少的可能性,从而产生O(n)算法。我们确定了三个独立的条件,可以使这在实践中合理,并在一组用户报告和模糊器生成的测试用例上验证假设。结果表明,在一组由fuzzer为编译器生成的大型测试用例上,我们的O(n)方法产生了类似大小的减少测试用例,同时平均减少了65%的减少时间。
{"title":"Avoiding the Familiar to Speed Up Test Case Reduction","authors":"Golnaz Gharachorlu, Nick Sumner","doi":"10.1109/QRS.2018.00056","DOIUrl":"https://doi.org/10.1109/QRS.2018.00056","url":null,"abstract":"Delta Debugging is a longstanding approach to automated test case reduction. It divides an input into chunks and attempts to remove them to produce a smaller input. When a chunk is successfully removed, all chunks are revisited, as they may become removable from the smaller input. When no chunk can be removed, the chunks are subdivided and the process continues recursively. In the worst case, this revisiting behavior has an O(n^2) running time. We explore the possibility that good test case reduction can be achieved without revisiting, yielding an O(n) algorithm. We identify three independent conditions that can make this reasonable in practice and validate the hypothesis on a suite of user-reported and fuzzer-generated test cases. Results show that on a suite of large fuzzer-generated test cases for compilers, our O(n) approach yields reduced test cases with similar size, while decreasing the reduction time by 65% on average.","PeriodicalId":114973,"journal":{"name":"2018 IEEE International Conference on Software Quality, Reliability and Security (QRS)","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129209300","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}
引用次数: 5
Change-Based Test Script Maintenance for Android Apps 基于更改的Android应用程序测试脚本维护
N. Chang, Linzhang Wang, Yu Pei, S. Mondal, Xuandong Li
In regression GUI testing for Android apps, test scripts often fail due to changes to, rather than faults in, those apps. To avoid such false positives while still retaining the value of the old test scripts as much as possible, programmers need an automatic way to maintain the tests after the corresponding GUI has evolved. In this paper, we propose the CHATEM approach to automate GUI test script maintenance for Android apps. Taking as input the models for the GUIs of the base and updated version app and the original test scripts, CHATEM automatically extracts the changes between the two GUIs and generates maintenance actions for each change, which are then combined to form the maintenance actions for affected test scripts. In an experimental evaluation on 16 Android apps, CHATEM was able to automatically maintain the test scripts so that overall more than 95% of the remaining behaviors tested before are still tested, and almost 80% of the reusable test actions are retained in the result tests.
在Android应用的回归GUI测试中,测试脚本经常因为这些应用的变化而失败,而不是因为这些应用的错误。为了避免这样的误报,同时尽可能保留旧测试脚本的价值,程序员需要在相应的GUI发展之后自动维护测试的方法。在本文中,我们提出了CHATEM方法来自动维护Android应用程序的GUI测试脚本。CHATEM以基础版本和更新版本app的gui模型以及原始测试脚本为输入,自动提取两个gui之间的变化,并为每个变化生成维护动作,然后将这些变化组合起来形成受影响测试脚本的维护动作。在对16个Android应用程序的实验评估中,CHATEM能够自动维护测试脚本,使得之前测试过的95%以上的剩余行为仍然被测试,并且几乎80%的可重用测试动作在结果测试中被保留。
{"title":"Change-Based Test Script Maintenance for Android Apps","authors":"N. Chang, Linzhang Wang, Yu Pei, S. Mondal, Xuandong Li","doi":"10.1109/QRS.2018.00035","DOIUrl":"https://doi.org/10.1109/QRS.2018.00035","url":null,"abstract":"In regression GUI testing for Android apps, test scripts often fail due to changes to, rather than faults in, those apps. To avoid such false positives while still retaining the value of the old test scripts as much as possible, programmers need an automatic way to maintain the tests after the corresponding GUI has evolved. In this paper, we propose the CHATEM approach to automate GUI test script maintenance for Android apps. Taking as input the models for the GUIs of the base and updated version app and the original test scripts, CHATEM automatically extracts the changes between the two GUIs and generates maintenance actions for each change, which are then combined to form the maintenance actions for affected test scripts. In an experimental evaluation on 16 Android apps, CHATEM was able to automatically maintain the test scripts so that overall more than 95% of the remaining behaviors tested before are still tested, and almost 80% of the reusable test actions are retained in the result tests.","PeriodicalId":114973,"journal":{"name":"2018 IEEE International Conference on Software Quality, Reliability and Security (QRS)","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117071865","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
The State of Practice on Virtual Reality (VR) Applications: An Exploratory Study on Github and Stack Overflow 虚拟现实(VR)应用的实践现状:基于Github和Stack Overflow的探索性研究
Naoures Ghrairi, Sègla Kpodjedo, Amine Barrak, Fábio Petrillo, Foutse Khomh
Virtual Reality (VR) is a computer technology that holds the promise of revolutionizing the way we live. The release in 2016 of new-generation headsets from Facebook-owned Oculus and HTC has renewed the interest in that technology. Thousands of VR applications have been developed over the past years, but most software developers lack formal training on this technology. In this paper, we propose descriptive information on the state of practice of VR applications' development to understand the level of maturity of this new technology from the perspective of Software Engineering (SE). To do so, we focused on the analysis of 320 VR open source projects from Github to determine which are the most popular languages and engines used in VR projects, and evaluate the quality of the projects from a software metric perspective. To get further insights on VR development, we also manually analyzed nearly 300 questions from Stack Overflow. Our results show that (1) VR projects on GitHub are currently mostly small to medium projects, and (2) the most popular languages are JavaScript and C#. Unity is the most used game engine during VR development and the most discussed topic on Stack Overflow. Overall, our exploratory study is one of the very first of its kind for VR projects and provides material that is hopefully a starting point for further research on challenges and opportunities for VR software development.
虚拟现实(VR)是一种计算机技术,有望彻底改变我们的生活方式。facebook旗下的Oculus和HTC在2016年发布的新一代头显重新燃起了人们对这项技术的兴趣。在过去的几年里,已经开发了成千上万的虚拟现实应用程序,但大多数软件开发人员缺乏这项技术的正式培训。在本文中,我们提出了关于虚拟现实应用开发实践状态的描述性信息,以从软件工程(SE)的角度了解这项新技术的成熟程度。为此,我们重点分析了Github上的320个VR开源项目,以确定哪些是VR项目中最流行的语言和引擎,并从软件度量的角度评估项目的质量。为了进一步了解VR开发,我们还手动分析了来自Stack Overflow的近300个问题。我们的研究结果表明:(1)GitHub上的VR项目目前大多是中小型项目,(2)最流行的语言是JavaScript和c#。Unity是VR开发中使用最多的游戏引擎,也是Stack Overflow上讨论最多的话题。总的来说,我们的探索性研究是VR项目中的第一个,并为VR软件开发的挑战和机遇的进一步研究提供了希望的起点。
{"title":"The State of Practice on Virtual Reality (VR) Applications: An Exploratory Study on Github and Stack Overflow","authors":"Naoures Ghrairi, Sègla Kpodjedo, Amine Barrak, Fábio Petrillo, Foutse Khomh","doi":"10.1109/QRS.2018.00048","DOIUrl":"https://doi.org/10.1109/QRS.2018.00048","url":null,"abstract":"Virtual Reality (VR) is a computer technology that holds the promise of revolutionizing the way we live. The release in 2016 of new-generation headsets from Facebook-owned Oculus and HTC has renewed the interest in that technology. Thousands of VR applications have been developed over the past years, but most software developers lack formal training on this technology. In this paper, we propose descriptive information on the state of practice of VR applications' development to understand the level of maturity of this new technology from the perspective of Software Engineering (SE). To do so, we focused on the analysis of 320 VR open source projects from Github to determine which are the most popular languages and engines used in VR projects, and evaluate the quality of the projects from a software metric perspective. To get further insights on VR development, we also manually analyzed nearly 300 questions from Stack Overflow. Our results show that (1) VR projects on GitHub are currently mostly small to medium projects, and (2) the most popular languages are JavaScript and C#. Unity is the most used game engine during VR development and the most discussed topic on Stack Overflow. Overall, our exploratory study is one of the very first of its kind for VR projects and provides material that is hopefully a starting point for further research on challenges and opportunities for VR software development.","PeriodicalId":114973,"journal":{"name":"2018 IEEE International Conference on Software Quality, Reliability and Security (QRS)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114727569","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}
引用次数: 6
Cross-Entropy: A New Metric for Software Defect Prediction 交叉熵:软件缺陷预测的新度量
Xian Zhang, K. Ben, Jie Zeng
Defect prediction is an active topic in software quality assurance, which can help developers find potential bugs and make better use of resources. To improve prediction performance, this paper introduces cross-entropy, one common measure for natural language, as a new code metric into defect prediction tasks and proposes a framework called DefectLearner for this process. We first build a recurrent neural network language model to learn regularities in source code from software repository. Based on the trained model, the cross-entropy of each component can be calculated. To evaluate the discrimination for defect-proneness, cross-entropy is compared with 20 widely used metrics on 12 open-source projects. The experimental results show that cross-entropy metric is more discriminative than 50% of the traditional metrics. Besides, we combine cross-entropy with traditional metric suites together for accurate defect prediction. With cross-entropy added, the performance of prediction models is improved by an average of 2.8% in F1-score.
缺陷预测是软件质量保证中的一个活跃话题,它可以帮助开发人员发现潜在的缺陷并更好地利用资源。为了提高预测性能,本文将自然语言中常见的交叉熵度量作为一种新的代码度量引入到缺陷预测任务中,并提出了一个名为“缺陷学习器”的框架。我们首先建立了一个递归神经网络语言模型,从软件库中学习源代码的规律。基于训练好的模型,可以计算出各分量的交叉熵。为了评估缺陷倾向的区分,交叉熵与12个开源项目中20个广泛使用的指标进行了比较。实验结果表明,交叉熵度量比50%的传统度量具有更好的判别性。此外,我们还将交叉熵与传统度量套件相结合,进行了准确的缺陷预测。加入交叉熵后,预测模型的f1得分平均提高2.8%。
{"title":"Cross-Entropy: A New Metric for Software Defect Prediction","authors":"Xian Zhang, K. Ben, Jie Zeng","doi":"10.1109/QRS.2018.00025","DOIUrl":"https://doi.org/10.1109/QRS.2018.00025","url":null,"abstract":"Defect prediction is an active topic in software quality assurance, which can help developers find potential bugs and make better use of resources. To improve prediction performance, this paper introduces cross-entropy, one common measure for natural language, as a new code metric into defect prediction tasks and proposes a framework called DefectLearner for this process. We first build a recurrent neural network language model to learn regularities in source code from software repository. Based on the trained model, the cross-entropy of each component can be calculated. To evaluate the discrimination for defect-proneness, cross-entropy is compared with 20 widely used metrics on 12 open-source projects. The experimental results show that cross-entropy metric is more discriminative than 50% of the traditional metrics. Besides, we combine cross-entropy with traditional metric suites together for accurate defect prediction. With cross-entropy added, the performance of prediction models is improved by an average of 2.8% in F1-score.","PeriodicalId":114973,"journal":{"name":"2018 IEEE International Conference on Software Quality, Reliability and Security (QRS)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124896496","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}
引用次数: 23
Is Predicting Software Security Bugs Using Deep Learning Better Than the Traditional Machine Learning Algorithms? 使用深度学习预测软件安全漏洞比传统的机器学习算法更好吗?
Caesar Jude Clemente, Fehmi Jaafar, Yasir Malik
Software insecurity is being identified as one of the leading causes of security breaches. In this paper, we revisited one of the strategies in solving software insecurity, which is the use of software quality metrics. We utilized a multilayer deep feedforward network in examining whether there is a combination of metrics that can predict the appearance of security-related bugs. We also applied the traditional machine learning algorithms such as decision tree, random forest, naïve bayes, and support vector machines and compared the results with that of the Deep Learning technique. The results have successfully demonstrated that it was possible to develop an effective predictive model to forecast software insecurity based on the software metrics and using Deep Learning. All the models generated have shown an accuracy of more than sixty percent with Deep Learning leading the list. This finding proved that utilizing Deep Learning methods and a combination of software metrics can be tapped to create a better forecasting model thereby aiding software developers in predicting security bugs.
软件不安全被认为是导致安全漏洞的主要原因之一。在本文中,我们重新审视了解决软件不安全性的策略之一,即软件质量度量的使用。我们利用多层深度前馈网络来检查是否存在可以预测安全相关漏洞出现的指标组合。我们还应用了传统的机器学习算法,如决策树、随机森林、naïve贝叶斯和支持向量机,并将结果与深度学习技术进行了比较。研究结果成功地证明,基于软件度量和使用深度学习,开发一个有效的预测模型来预测软件的不安全性是可能的。所有生成的模型都显示出超过60%的准确率,其中深度学习名列前茅。这一发现证明,利用深度学习方法和软件指标的组合可以创建一个更好的预测模型,从而帮助软件开发人员预测安全漏洞。
{"title":"Is Predicting Software Security Bugs Using Deep Learning Better Than the Traditional Machine Learning Algorithms?","authors":"Caesar Jude Clemente, Fehmi Jaafar, Yasir Malik","doi":"10.1109/QRS.2018.00023","DOIUrl":"https://doi.org/10.1109/QRS.2018.00023","url":null,"abstract":"Software insecurity is being identified as one of the leading causes of security breaches. In this paper, we revisited one of the strategies in solving software insecurity, which is the use of software quality metrics. We utilized a multilayer deep feedforward network in examining whether there is a combination of metrics that can predict the appearance of security-related bugs. We also applied the traditional machine learning algorithms such as decision tree, random forest, naïve bayes, and support vector machines and compared the results with that of the Deep Learning technique. The results have successfully demonstrated that it was possible to develop an effective predictive model to forecast software insecurity based on the software metrics and using Deep Learning. All the models generated have shown an accuracy of more than sixty percent with Deep Learning leading the list. This finding proved that utilizing Deep Learning methods and a combination of software metrics can be tapped to create a better forecasting model thereby aiding software developers in predicting security bugs.","PeriodicalId":114973,"journal":{"name":"2018 IEEE International Conference on Software Quality, Reliability and Security (QRS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129442703","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}
引用次数: 15
期刊
2018 IEEE International Conference on Software Quality, Reliability and Security (QRS)
全部 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