Pub Date : 2021-04-01DOI: 10.1109/ICSTW52544.2021.00048
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.
{"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}
Pub Date : 2021-04-01DOI: 10.1109/ICSTW52544.2021.00025
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.
{"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}
Pub Date : 2021-04-01DOI: 10.1109/ICSTW52544.2021.00045
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.
{"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}
Pub Date : 2021-04-01DOI: 10.1109/ICSTW52544.2021.00043
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.
{"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}
Pub Date : 2021-04-01DOI: 10.1109/ICSTW52544.2021.00024
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.
{"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}
Pub Date : 2021-04-01DOI: 10.1109/ICSTW52544.2021.00023
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.
{"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}
Pub Date : 2021-04-01DOI: 10.1109/ICSTW52544.2021.00053
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.
{"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}
Pub Date : 2021-04-01DOI: 10.1109/ICSTW52544.2021.00047
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.
{"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}
Pub Date : 2021-04-01DOI: 10.1109/ICSTW52544.2021.00046
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.
{"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}
Pub Date : 2021-04-01DOI: 10.1109/ICSTW52544.2021.00037
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.
{"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}