首页 > 最新文献

2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)最新文献

英文 中文
Supervised Learning for Test Suit Selection in Continuous Integration 持续集成中测试服选择的监督学习
Ricardo Martins, R. Abreu, Manuel Lopes, J. Nadkarni
Continuous Integration is the process of merging code changes into a software project. Keeping the master branch always updated and unfailingly is very computationally expensive due to the number of tests and code that needs to be executed. The waiting times also increase the time required for debugging. This paper proposes a solution to reduce the execution time of the testing phase, by selecting only a subset of all the tests, given some code changes. This is accomplished by training a Machine Learning (ML) Classifier with features such as code/test files history fails, extension code files that tend to generate more errors during the testing phase, and others. The results obtained by the best ML classifier showed results comparable with the recent literature done in the same area. This model managed to reduce the median test execution time by nearly 10 minutes while maintaining 97% of recall. Additionally, the impact of innocent commits and flaky tests was taken into account and studied to understand a particular industrial context.
持续集成是将代码变更合并到软件项目中的过程。由于需要执行的测试和代码的数量,保持主分支始终更新和不失败在计算上是非常昂贵的。等待时间也增加了调试所需的时间。本文提出了一个解决方案,通过只选择所有测试的一个子集来减少测试阶段的执行时间,并给出一些代码更改。这是通过训练机器学习(ML)分类器来完成的,该分类器具有代码/测试文件历史失败、在测试阶段倾向于生成更多错误的扩展代码文件等特征。最佳ML分类器获得的结果与最近在同一领域所做的文献相当。该模型设法将测试执行时间的中位数减少了近10分钟,同时保持了97%的召回率。此外,考虑并研究了无辜提交和不可靠测试的影响,以了解特定的工业背景。
{"title":"Supervised Learning for Test Suit Selection in Continuous Integration","authors":"Ricardo Martins, R. Abreu, Manuel Lopes, J. Nadkarni","doi":"10.1109/ICSTW52544.2021.00048","DOIUrl":"https://doi.org/10.1109/ICSTW52544.2021.00048","url":null,"abstract":"Continuous Integration is the process of merging code changes into a software project. Keeping the master branch always updated and unfailingly is very computationally expensive due to the number of tests and code that needs to be executed. The waiting times also increase the time required for debugging. This paper proposes a solution to reduce the execution time of the testing phase, by selecting only a subset of all the tests, given some code changes. This is accomplished by training a Machine Learning (ML) Classifier with features such as code/test files history fails, extension code files that tend to generate more errors during the testing phase, and others. The results obtained by the best ML classifier showed results comparable with the recent literature done in the same area. This model managed to reduce the median test execution time by nearly 10 minutes while maintaining 97% of recall. Additionally, the impact of innocent commits and flaky tests was taken into account and studied to understand a particular industrial context.","PeriodicalId":371680,"journal":{"name":"2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122679922","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
Combinatorial Testing Metrics for Machine Learning 机器学习的组合测试指标
Erin Lanus, Laura J. Freeman, D. R. Kuhn, R. Kacker
This paper defines a set difference metric for comparing machine learning (ML) datasets and proposes the difference between datasets be a function of combinatorial coverage. We illustrate its utility for evaluating and predicting performance of ML models. Identifying and measuring differences between datasets is of significant value for ML problems, where the accuracy of the model is heavily dependent on the degree to which training data are sufficiently representative of data encountered in application. The method is illustrated for transfer learning without retraining, the problem of predicting performance of a model trained on one dataset and applied to another.
本文定义了一个用于比较机器学习(ML)数据集的集差度量,并提出数据集之间的差异是组合覆盖的函数。我们说明了它在评估和预测机器学习模型性能方面的效用。识别和测量数据集之间的差异对于ML问题具有重要价值,其中模型的准确性严重依赖于训练数据在多大程度上充分代表应用中遇到的数据。该方法用于无需再训练的迁移学习,即在一个数据集上训练并应用于另一个数据集的模型的预测性能问题。
{"title":"Combinatorial Testing Metrics for Machine Learning","authors":"Erin Lanus, Laura J. Freeman, D. R. Kuhn, R. Kacker","doi":"10.1109/ICSTW52544.2021.00025","DOIUrl":"https://doi.org/10.1109/ICSTW52544.2021.00025","url":null,"abstract":"This paper defines a set difference metric for comparing machine learning (ML) datasets and proposes the difference between datasets be a function of combinatorial coverage. We illustrate its utility for evaluating and predicting performance of ML models. Identifying and measuring differences between datasets is of significant value for ML problems, where the accuracy of the model is heavily dependent on the degree to which training data are sufficiently representative of data encountered in application. The method is illustrated for transfer learning without retraining, the problem of predicting performance of a model trained on one dataset and applied to another.","PeriodicalId":371680,"journal":{"name":"2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129558679","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
Prioritized Test Generation Guided by Software Fault Prediction 基于软件故障预测的优先级测试生成
Eran Hershkovich, Roni Stern, R. Abreu, Amir Elmishali
Writing and running software unit tests is one of the fundamental techniques used to maintain software quality. However, this process is rather costly and time consuming. Thus, much effort has been devoted to generating unit tests automatically. The common objective of test generation algorithms is to maximize code coverage. However, maximizing coverage is not necessarily correlated with identifying faults [1]. In this work, we propose a novel approach for test generation aiming at generating a small set of tests that cover the software components that are likely to contain bugs. To identify which components are more likely to contain bugs, we train a software fault prediction model using machine learning techniques. We implemented this approach in practice in a tool called QUADRANT, and demonstrate its effectiveness on five real-world, open-source projects. Results show the benefit of using QUADRANT, where test generation guided by our fault prediction model can detect more than double the number of bugs compared to a coverage-oriented approach, thereby saving test generation and execution efforts.
编写和运行软件单元测试是用于维护软件质量的基本技术之一。然而,这个过程相当昂贵和耗时。因此,在自动生成单元测试方面投入了大量的工作。测试生成算法的共同目标是最大化代码覆盖率。然而,最大化覆盖率并不一定与识别故障相关[1]。在这项工作中,我们提出了一种新的测试生成方法,旨在生成一个小的测试集,这些测试集覆盖了可能包含错误的软件组件。为了识别哪些组件更可能包含错误,我们使用机器学习技术训练软件故障预测模型。我们在一个叫做QUADRANT的工具中实现了这个方法,并在五个真实的开源项目中展示了它的有效性。结果显示了使用QUADRANT的好处,在这里,由我们的故障预测模型引导的测试生成可以检测到比面向覆盖率的方法多一倍的错误数量,从而节省了测试生成和执行的工作。
{"title":"Prioritized Test Generation Guided by Software Fault Prediction","authors":"Eran Hershkovich, Roni Stern, R. Abreu, Amir Elmishali","doi":"10.1109/ICSTW52544.2021.00045","DOIUrl":"https://doi.org/10.1109/ICSTW52544.2021.00045","url":null,"abstract":"Writing and running software unit tests is one of the fundamental techniques used to maintain software quality. However, this process is rather costly and time consuming. Thus, much effort has been devoted to generating unit tests automatically. The common objective of test generation algorithms is to maximize code coverage. However, maximizing coverage is not necessarily correlated with identifying faults [1]. In this work, we propose a novel approach for test generation aiming at generating a small set of tests that cover the software components that are likely to contain bugs. To identify which components are more likely to contain bugs, we train a software fault prediction model using machine learning techniques. We implemented this approach in practice in a tool called QUADRANT, and demonstrate its effectiveness on five real-world, open-source projects. Results show the benefit of using QUADRANT, where test generation guided by our fault prediction model can detect more than double the number of bugs compared to a coverage-oriented approach, thereby saving test generation and execution efforts.","PeriodicalId":371680,"journal":{"name":"2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126934761","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}
引用次数: 3
Process Mining on a Robotic Mechanism 基于机器人机构的过程挖掘
Turcanu Cristina Nicoleta
As the Fourth Industrial revolution is an emerging trend articulated by the rapid advances in automation technologies, the use of robots and the Industrial Internet of Things (IIoT) is meant to significantly simplify human’s life. However, if we consider industrial robots with two or more axes that could have unpredictable motions and velocities, real-time robots’ reliability is a matter that is strongly related to safety requirements. Considering operational testing in the context of IIoT, process conformance verification could be an important asset for obtaining knowledge of the failures – in particular, discovering failure occurrence patterns and establishing realtime preventive actions.This paper aims to pave a way to implementing a methodology for a robotic mechanism process conformance checking, using some certain synthetic operational traces that could be collected through IIoT technologies and communicated through computer driven industrial applications. Moreover, the paper suggests a formal verification method against the standard process model that could be provided by the robot manufacturer. Besides presenting some process conformance verification aspects using Celonis process mining tool, this study also refers to some finite state machine (FSM) and business process modelling (BPMN) representation, suggested as being suitable for robots’ formal specifications.
随着自动化技术的快速发展,第四次工业革命是一种新兴趋势,机器人和工业物联网(IIoT)的使用意味着大大简化人类的生活。然而,如果我们考虑具有两个或多个轴的工业机器人,它们可能具有不可预测的运动和速度,则实时机器人的可靠性与安全要求密切相关。考虑到工业物联网背景下的操作测试,过程一致性验证可能是获取故障知识的重要资产,特别是发现故障发生模式和建立实时预防措施。本文旨在为实现机器人机构过程一致性检查的方法铺平道路,使用一些可以通过IIoT技术收集的合成操作痕迹,并通过计算机驱动的工业应用进行通信。此外,本文还提出了一种针对机器人制造商提供的标准过程模型的形式化验证方法。除了使用Celonis过程挖掘工具展示一些过程一致性验证方面外,本研究还参考了一些有限状态机(FSM)和业务过程建模(BPMN)表示,建议它们适合机器人的形式规范。
{"title":"Process Mining on a Robotic Mechanism","authors":"Turcanu Cristina Nicoleta","doi":"10.1109/ICSTW52544.2021.00043","DOIUrl":"https://doi.org/10.1109/ICSTW52544.2021.00043","url":null,"abstract":"As the Fourth Industrial revolution is an emerging trend articulated by the rapid advances in automation technologies, the use of robots and the Industrial Internet of Things (IIoT) is meant to significantly simplify human’s life. However, if we consider industrial robots with two or more axes that could have unpredictable motions and velocities, real-time robots’ reliability is a matter that is strongly related to safety requirements. Considering operational testing in the context of IIoT, process conformance verification could be an important asset for obtaining knowledge of the failures – in particular, discovering failure occurrence patterns and establishing realtime preventive actions.This paper aims to pave a way to implementing a methodology for a robotic mechanism process conformance checking, using some certain synthetic operational traces that could be collected through IIoT technologies and communicated through computer driven industrial applications. Moreover, the paper suggests a formal verification method against the standard process model that could be provided by the robot manufacturer. Besides presenting some process conformance verification aspects using Celonis process mining tool, this study also refers to some finite state machine (FSM) and business process modelling (BPMN) representation, suggested as being suitable for robots’ formal specifications.","PeriodicalId":371680,"journal":{"name":"2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127950151","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
Computing Sequence Covering Arrays using Unified Combinatorial Interaction Testing 基于统一组合交互测试的计算序列覆盖阵列
Hanefi Mercan, Cemal Yilmaz
Unified Combinatorial Interaction Testing (U-CIT) aims to reduce the barriers to applying combinatorial interaction testing (CIT) approaches to different testing scenarios by generalizing the construction of the CIT objects, so that the necessity of developing a specialized constructor for each distinct scenario, is avoided. In this work, to demonstrate the flexibility provided by U-CIT, we apply it to compute a well-known combinatorial object for testing, namely sequence covering arrays, together with some practical extensions.
统一组合交互测试(U-CIT)旨在通过概括组合交互测试对象的构造,减少将组合交互测试方法应用于不同测试场景的障碍,从而避免为每个不同的场景开发专门的构造函数的必要性。在这项工作中,为了展示U-CIT提供的灵活性,我们应用它来计算一个众所周知的组合对象进行测试,即序列覆盖数组,以及一些实际的扩展。
{"title":"Computing Sequence Covering Arrays using Unified Combinatorial Interaction Testing","authors":"Hanefi Mercan, Cemal Yilmaz","doi":"10.1109/ICSTW52544.2021.00024","DOIUrl":"https://doi.org/10.1109/ICSTW52544.2021.00024","url":null,"abstract":"Unified Combinatorial Interaction Testing (U-CIT) aims to reduce the barriers to applying combinatorial interaction testing (CIT) approaches to different testing scenarios by generalizing the construction of the CIT objects, so that the necessity of developing a specialized constructor for each distinct scenario, is avoided. In this work, to demonstrate the flexibility provided by U-CIT, we apply it to compute a well-known combinatorial object for testing, namely sequence covering arrays, together with some practical extensions.","PeriodicalId":371680,"journal":{"name":"2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"256 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131783115","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
SYSMODIS: A Systematic Model Discovery Approach 系统的模型发现方法
Omer Korkmaz, Cemal Yilmaz
In this paper, we present an automated model discovery approach, called SYSMODIS, which uses covering arrays to systematically sample the input spaces. SYSMODIS discovers finite state machine-based models, where states represent distinct screens and the edges between the states represent the transitions between the screens. SYSMODIS also discovers the likely guard conditions for the transitions, i.e., the conditions that must be satisfied before the transitions can be taken. For the first time a previously unseen screen is visited, a covering array-based test suite for the input fields present on the screen as well as the actions that can be taken on the screen, is created. SYSMODIS keeps on crawling until all the test suites for all the screens have been exhaustively tested. Once the crawling is over, the results of the test suites are fed to a machine learning algorithm on a per screen basis to determine the likely guard conditions. In the experiments we carried out to evaluate the proposed approach, we observed that SYSMODIS profoundly improved the state/screen coverage, transition coverage, and/or the accuracy of the predicted guard conditions, compared to the existing approaches studied in the paper.
在本文中,我们提出了一种自动模型发现方法,称为SYSMODIS,它使用覆盖阵列系统地对输入空间进行采样。SYSMODIS发现了基于有限状态机的模型,其中状态表示不同的屏幕,状态之间的边表示屏幕之间的转换。SYSMODIS还发现了转换可能的保护条件,即在进行转换之前必须满足的条件。第一次访问以前未见过的屏幕时,将创建一个基于数组的测试套件,用于显示在屏幕上的输入字段以及可以在屏幕上执行的操作。SYSMODIS继续爬行,直到所有屏幕的所有测试套件都经过了详尽的测试。一旦爬行结束,测试套件的结果将以每个屏幕为基础提供给机器学习算法,以确定可能的保护条件。在评估该方法的实验中,我们观察到,与本文研究的现有方法相比,SYSMODIS极大地提高了状态/屏幕覆盖率、过渡覆盖率和/或预测保护条件的准确性。
{"title":"SYSMODIS: A Systematic Model Discovery Approach","authors":"Omer Korkmaz, Cemal Yilmaz","doi":"10.1109/ICSTW52544.2021.00023","DOIUrl":"https://doi.org/10.1109/ICSTW52544.2021.00023","url":null,"abstract":"In this paper, we present an automated model discovery approach, called SYSMODIS, which uses covering arrays to systematically sample the input spaces. SYSMODIS discovers finite state machine-based models, where states represent distinct screens and the edges between the states represent the transitions between the screens. SYSMODIS also discovers the likely guard conditions for the transitions, i.e., the conditions that must be satisfied before the transitions can be taken. For the first time a previously unseen screen is visited, a covering array-based test suite for the input fields present on the screen as well as the actions that can be taken on the screen, is created. SYSMODIS keeps on crawling until all the test suites for all the screens have been exhaustively tested. Once the crawling is over, the results of the test suites are fed to a machine learning algorithm on a per screen basis to determine the likely guard conditions. In the experiments we carried out to evaluate the proposed approach, we observed that SYSMODIS profoundly improved the state/screen coverage, transition coverage, and/or the accuracy of the predicted guard conditions, compared to the existing approaches studied in the paper.","PeriodicalId":371680,"journal":{"name":"2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128344823","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}
引用次数: 3
Using Advanced Code Analysis for Boosting Unit Test Creation 使用高级代码分析促进单元测试创建
M. Zielinski, R. Groenboom
Unit testing is a popular testing technique, widespread in enterprise IT and embedded/safety-critical. For enterprise IT, unit testing is considered to be good practice and is frequently followed as an element of test-driven development. In the safety-critical world, there are many standards, such as ISO 26262, IEC 61508, and others, that either directly or indirectly mandate unit testing. Regardless the area of the application, unit testing is very time-consuming and teams are looking for strategies to optimize their efforts. This is especially true in the safety-critical space, where demonstration of test coverage is required for the certification. In this presentation, we share the results of our research regarding the use of advanced code analysis algorithms for augmenting the process of unit test creation. The discussion includes automatic discovery of inputs and responses from mocked components that maximize the code coverage and automated generation of the test cases.
单元测试是一种流行的测试技术,广泛应用于企业IT和嵌入式/安全关键领域。对于企业IT来说,单元测试被认为是一种很好的实践,并且经常作为测试驱动开发的一个元素来遵循。在安全关键领域,有许多标准,如ISO 26262、IEC 61508等,直接或间接地要求进行单元测试。不管应用程序的哪个领域,单元测试都是非常耗时的,团队正在寻找策略来优化他们的工作。在安全关键领域尤其如此,因为认证需要测试覆盖的演示。在这次演讲中,我们将分享我们关于使用高级代码分析算法来增加单元测试创建过程的研究结果。讨论包括自动发现来自模拟组件的输入和响应,这些组件最大限度地提高了代码覆盖率,并自动生成测试用例。
{"title":"Using Advanced Code Analysis for Boosting Unit Test Creation","authors":"M. Zielinski, R. Groenboom","doi":"10.1109/ICSTW52544.2021.00053","DOIUrl":"https://doi.org/10.1109/ICSTW52544.2021.00053","url":null,"abstract":"Unit testing is a popular testing technique, widespread in enterprise IT and embedded/safety-critical. For enterprise IT, unit testing is considered to be good practice and is frequently followed as an element of test-driven development. In the safety-critical world, there are many standards, such as ISO 26262, IEC 61508, and others, that either directly or indirectly mandate unit testing. Regardless the area of the application, unit testing is very time-consuming and teams are looking for strategies to optimize their efforts. This is especially true in the safety-critical space, where demonstration of test coverage is required for the certification. In this presentation, we share the results of our research regarding the use of advanced code analysis algorithms for augmenting the process of unit test creation. The discussion includes automatic discovery of inputs and responses from mocked components that maximize the code coverage and automated generation of the test cases.","PeriodicalId":371680,"journal":{"name":"2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129574779","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}
引用次数: 3
AutoKG - An Automotive Domain Knowledge Graph for Software Testing: A position paper AutoKG -用于软件测试的汽车领域知识图谱:意见书
Vaibhav Kesri, Anmol Nayak, Karthikeyan Ponnalagu
Industries have a significant amount of data in semi-structured and unstructured formats which are typically captured in text documents, spreadsheets, images, etc. This is especially the case with the software description documents used by domain experts in the automotive domain to perform tasks at various phases of the Software Development Life Cycle (SDLC). In this paper, we propose an end-to-end pipeline to extract an Automotive Knowledge Graph (AutoKG) from textual data using Natural Language Processing (NLP) techniques with the application of automatic test case generation. The proposed pipeline primarily consists of the following components: 1) AutoOntology, an ontology that has been derived by analyzing several industry scale automotive domain software systems, 2) AutoRE, a Relation Extraction (RE) model to extract triplets from various sentence types typically found in the automotive domain, and 3) AutoVec, a neural embedding based algorithm for triplet matching and context-based search. We demonstrate the pipeline with an application of automatic test case generation from requirements using AutoKG.
行业中有大量半结构化和非结构化格式的数据,这些数据通常以文本文档、电子表格、图像等形式捕获。汽车领域的领域专家在软件开发生命周期(SDLC)的各个阶段执行任务时使用的软件描述文档尤其如此。在本文中,我们提出了一个端到端的管道,使用自然语言处理(NLP)技术和自动测试用例生成技术从文本数据中提取汽车知识图(AutoKG)。提出的管道主要由以下组件组成:1)AutoOntology,一个通过分析几个行业规模的汽车领域软件系统而衍生的本体;2)autoore,一种关系提取(RE)模型,用于从汽车领域中常见的各种句子类型中提取三联体;3)AutoVec,一种基于神经嵌入的三联体匹配和基于上下文的搜索算法。我们用AutoKG从需求中自动生成测试用例的应用程序来演示管道。
{"title":"AutoKG - An Automotive Domain Knowledge Graph for Software Testing: A position paper","authors":"Vaibhav Kesri, Anmol Nayak, Karthikeyan Ponnalagu","doi":"10.1109/ICSTW52544.2021.00047","DOIUrl":"https://doi.org/10.1109/ICSTW52544.2021.00047","url":null,"abstract":"Industries have a significant amount of data in semi-structured and unstructured formats which are typically captured in text documents, spreadsheets, images, etc. This is especially the case with the software description documents used by domain experts in the automotive domain to perform tasks at various phases of the Software Development Life Cycle (SDLC). In this paper, we propose an end-to-end pipeline to extract an Automotive Knowledge Graph (AutoKG) from textual data using Natural Language Processing (NLP) techniques with the application of automatic test case generation. The proposed pipeline primarily consists of the following components: 1) AutoOntology, an ontology that has been derived by analyzing several industry scale automotive domain software systems, 2) AutoRE, a Relation Extraction (RE) model to extract triplets from various sentence types typically found in the automotive domain, and 3) AutoVec, a neural embedding based algorithm for triplet matching and context-based search. We demonstrate the pipeline with an application of automatic test case generation from requirements using AutoKG.","PeriodicalId":371680,"journal":{"name":"2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129012231","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
DeepRace: A learning-based data race detector DeepRace:一个基于学习的数据竞赛检测器
Ali Tehrani Jamsaz, Mohammed Khaleel, R. Akbari, A. Jannesari
In this paper, we propose DeepRace, a novel approach toward detecting data race bugs in the source code. We build a deep neural network model to find data race bugs instead of creating a data race detector manually. Our model uses a one-layer convolutional neural network (CNN) with different window sizes to find data race. We adopt the class activation map in order to highlight the line of codes with a data race. Thus, the DeepRace model can detect the data race on a file-level and line of code level. We trained and tested the model with OpenMP and POSIX source code datasets consisting of more than 5000 and 8000 source code files respectively. Comparing to other race detectors, we only had a small number of false positives and false negatives up to 3 and 4 for each OpenMP data race.
在本文中,我们提出了DeepRace,一种用于检测源代码中的数据竞争错误的新方法。我们建立了一个深度神经网络模型来发现数据竞争错误,而不是手动创建一个数据竞争检测器。我们的模型使用具有不同窗口大小的单层卷积神经网络(CNN)来发现数据竞争。我们采用类激活映射是为了突出显示具有数据竞争的代码行。因此,DeepRace模型可以在文件级和代码行级检测数据竞争。我们使用OpenMP和POSIX源代码数据集分别训练和测试了超过5000和8000个源代码文件的模型。与其他竞争检测器相比,我们只有少量的假阳性和假阴性,每个OpenMP数据竞争只有3个和4个。
{"title":"DeepRace: A learning-based data race detector","authors":"Ali Tehrani Jamsaz, Mohammed Khaleel, R. Akbari, A. Jannesari","doi":"10.1109/ICSTW52544.2021.00046","DOIUrl":"https://doi.org/10.1109/ICSTW52544.2021.00046","url":null,"abstract":"In this paper, we propose DeepRace, a novel approach toward detecting data race bugs in the source code. We build a deep neural network model to find data race bugs instead of creating a data race detector manually. Our model uses a one-layer convolutional neural network (CNN) with different window sizes to find data race. We adopt the class activation map in order to highlight the line of codes with a data race. Thus, the DeepRace model can detect the data race on a file-level and line of code level. We trained and tested the model with OpenMP and POSIX source code datasets consisting of more than 5000 and 8000 source code files respectively. Comparing to other race detectors, we only had a small number of false positives and false negatives up to 3 and 4 for each OpenMP data race.","PeriodicalId":371680,"journal":{"name":"2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131782086","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
Syntax-Tree Similarity for Test-Case Derivability in Software Requirements 软件需求中测试用例可衍生性的语法树相似性
Satoshi Masuda, T. Matsuodani, K. Tsuda
Software testing has been important for software engineering to contribute to developing high-quality software. Decision table testing is a general technique to derive test cases with information on conditions and actions from software requirements. Deriving conditions and actions from requirements is key for efficient decision table testing. This paper proposes and evaluates a syntax-tree similarity method for test-case derivability in software requirements. We define the syntax-tree similarity technique used in our method as selecting test-case-derivable sentences from requirements at pre-processing. The syntax tree is defined as divided into sub-trees that consist of a root to each leaf. The syntax-tree similarity technique calculates the similarity between each sentence in the requirements and test-case-derivable sentence. The method involves natural language processing to select test-case-derivable sentences from the requirements on the basis of syntax-tree similarity then determines conditions and actions through dependency and case analyses. After selecting requirements by syntax-tree similarity, our method derives conditions and actions from the requirements by the deriving rules we define. Experiments revealed that the F-measure of the accuracy of the derived conditions and actions increased 16% from that reported in prior work. The results from case studies further indicate the effectiveness of our method.
软件测试对于软件工程开发高质量软件非常重要。决策表测试是一种通用的技术,用于从软件需求中导出带有条件和操作信息的测试用例。从需求中得出条件和动作是高效决策表测试的关键。本文提出并评价了一种用于软件需求中测试用例可衍生性的语法树相似度方法。我们将方法中使用的语法树相似技术定义为从预处理的需求中选择测试用例可衍生的句子。语法树被定义为分为子树,子树由每个叶子的根组成。语法树相似度技术计算需求和测试用例派生句子中每个句子之间的相似度。该方法通过自然语言处理,根据语法树的相似性从需求中选择可衍生测试用例的句子,然后通过依赖关系和用例分析确定条件和操作。在通过语法树相似度选择需求之后,我们的方法通过定义的派生规则从需求中派生条件和操作。实验表明,与之前的研究相比,导出的条件和动作的准确性f值提高了16%。案例研究的结果进一步表明了该方法的有效性。
{"title":"Syntax-Tree Similarity for Test-Case Derivability in Software Requirements","authors":"Satoshi Masuda, T. Matsuodani, K. Tsuda","doi":"10.1109/ICSTW52544.2021.00037","DOIUrl":"https://doi.org/10.1109/ICSTW52544.2021.00037","url":null,"abstract":"Software testing has been important for software engineering to contribute to developing high-quality software. Decision table testing is a general technique to derive test cases with information on conditions and actions from software requirements. Deriving conditions and actions from requirements is key for efficient decision table testing. This paper proposes and evaluates a syntax-tree similarity method for test-case derivability in software requirements. We define the syntax-tree similarity technique used in our method as selecting test-case-derivable sentences from requirements at pre-processing. The syntax tree is defined as divided into sub-trees that consist of a root to each leaf. The syntax-tree similarity technique calculates the similarity between each sentence in the requirements and test-case-derivable sentence. The method involves natural language processing to select test-case-derivable sentences from the requirements on the basis of syntax-tree similarity then determines conditions and actions through dependency and case analyses. After selecting requirements by syntax-tree similarity, our method derives conditions and actions from the requirements by the deriving rules we define. Experiments revealed that the F-measure of the accuracy of the derived conditions and actions increased 16% from that reported in prior work. The results from case studies further indicate the effectiveness of our method.","PeriodicalId":371680,"journal":{"name":"2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115208678","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
期刊
2021 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW)
全部 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