AbstractTrace: The Use of Execution Traces to Cluster, Classify, Prioritize, and Optimize a Bloated Test Suite
Due to the incremental and iterative nature of the software testing process, a test suite may become bloated with redundant, overlapping, and similar test cases. This paper aims to optimize a bloated test suite by employing an execution trace that encodes runtime events into a sequence of characters...
Saved in:
| Main Authors: | , |
|---|---|
| Format: | Article |
| Language: | English |
| Published: |
MDPI AG
2024-11-01
|
| Series: | Applied Sciences |
| Subjects: | |
| Online Access: | https://www.mdpi.com/2076-3417/14/23/11168 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| _version_ | 1846124421383716864 |
|---|---|
| author | Ziad A. Al-Sharif Clinton L. Jeffery |
| author_facet | Ziad A. Al-Sharif Clinton L. Jeffery |
| author_sort | Ziad A. Al-Sharif |
| collection | DOAJ |
| description | Due to the incremental and iterative nature of the software testing process, a test suite may become bloated with redundant, overlapping, and similar test cases. This paper aims to optimize a bloated test suite by employing an execution trace that encodes runtime events into a sequence of characters forming a string. A dataset of strings, each of which represents the code coverage and execution behavior of a test case, is analyzed to identify similarities between test cases. This facilitates the <i>de-bloating</i> process by providing a formal mechanism to identify, remove, and reduce <i>extra</i> test cases without compromising software quality. This form of analysis allows for the clustering and classification of test cases based on their code coverage and similarity score. This paper explores three levels of execution traces and evaluates different techniques to measure their similarities. Test cases with the same code coverage should generate the exact string representation of runtime events. Various string similarity metrics are assessed to find the similarity score, which is used to classify, detect, and rank test cases accordingly. Additionally, this paper demonstrates the validity of the approach with two case studies. The first shows how to classify the execution behavior of various test cases, which can provide insight into each test case’s internal behavior. The second shows how to identify similar test cases based on their code coverage. |
| format | Article |
| id | doaj-art-346db059e8094602bca848a0d4c92816 |
| institution | Kabale University |
| issn | 2076-3417 |
| language | English |
| publishDate | 2024-11-01 |
| publisher | MDPI AG |
| record_format | Article |
| series | Applied Sciences |
| spelling | doaj-art-346db059e8094602bca848a0d4c928162024-12-13T16:23:02ZengMDPI AGApplied Sciences2076-34172024-11-0114231116810.3390/app142311168AbstractTrace: The Use of Execution Traces to Cluster, Classify, Prioritize, and Optimize a Bloated Test SuiteZiad A. Al-Sharif0Clinton L. Jeffery1Department of Software Engineering, Faculty of Computer and Information Technology, Jordan University of Science and Technology (JUST), Irbid 22110, JordanDepartment of Computer Science and Engineering, New Mexico Institute of Mining and Technology, Socorro, NM 87801, USADue to the incremental and iterative nature of the software testing process, a test suite may become bloated with redundant, overlapping, and similar test cases. This paper aims to optimize a bloated test suite by employing an execution trace that encodes runtime events into a sequence of characters forming a string. A dataset of strings, each of which represents the code coverage and execution behavior of a test case, is analyzed to identify similarities between test cases. This facilitates the <i>de-bloating</i> process by providing a formal mechanism to identify, remove, and reduce <i>extra</i> test cases without compromising software quality. This form of analysis allows for the clustering and classification of test cases based on their code coverage and similarity score. This paper explores three levels of execution traces and evaluates different techniques to measure their similarities. Test cases with the same code coverage should generate the exact string representation of runtime events. Various string similarity metrics are assessed to find the similarity score, which is used to classify, detect, and rank test cases accordingly. Additionally, this paper demonstrates the validity of the approach with two case studies. The first shows how to classify the execution behavior of various test cases, which can provide insight into each test case’s internal behavior. The second shows how to identify similar test cases based on their code coverage.https://www.mdpi.com/2076-3417/14/23/11168software engineeringsoftware testingexecution tracetest suitebloated testingmachine learning |
| spellingShingle | Ziad A. Al-Sharif Clinton L. Jeffery AbstractTrace: The Use of Execution Traces to Cluster, Classify, Prioritize, and Optimize a Bloated Test Suite Applied Sciences software engineering software testing execution trace test suite bloated testing machine learning |
| title | AbstractTrace: The Use of Execution Traces to Cluster, Classify, Prioritize, and Optimize a Bloated Test Suite |
| title_full | AbstractTrace: The Use of Execution Traces to Cluster, Classify, Prioritize, and Optimize a Bloated Test Suite |
| title_fullStr | AbstractTrace: The Use of Execution Traces to Cluster, Classify, Prioritize, and Optimize a Bloated Test Suite |
| title_full_unstemmed | AbstractTrace: The Use of Execution Traces to Cluster, Classify, Prioritize, and Optimize a Bloated Test Suite |
| title_short | AbstractTrace: The Use of Execution Traces to Cluster, Classify, Prioritize, and Optimize a Bloated Test Suite |
| title_sort | abstracttrace the use of execution traces to cluster classify prioritize and optimize a bloated test suite |
| topic | software engineering software testing execution trace test suite bloated testing machine learning |
| url | https://www.mdpi.com/2076-3417/14/23/11168 |
| work_keys_str_mv | AT ziadaalsharif abstracttracetheuseofexecutiontracestoclusterclassifyprioritizeandoptimizeabloatedtestsuite AT clintonljeffery abstracttracetheuseofexecutiontracestoclusterclassifyprioritizeandoptimizeabloatedtestsuite |