Application of Transformers in Software Test Case Prioritization
dc.contributor.advisor | Hemmati, Hadi | |
dc.contributor.author | Jabbar, Emad | |
dc.contributor.committeemember | De Carli, Lorenzo | |
dc.contributor.committeemember | Yanushkevich, Svetlana | |
dc.date | 2022-11 | |
dc.date.accessioned | 2022-09-14T15:46:07Z | |
dc.date.available | 2022-09-14T15:46:07Z | |
dc.date.issued | 2022-09 | |
dc.description.abstract | Most automated software testing tasks can benefit from the abstract representation of test cases. Traditionally, this is done by encoding test cases based on their code coverage. Specification-level criteria can replace code coverage to better represent test cases’ behavior, but they are often not cost-effective. In this paper, we hypothesize that execution traces of the test cases can be a good alternative to abstract their behavior for automated testing tasks. We propose a transformer-based embedding approach, Transformer Test2Vec, that maps test execution traces to a latent space. We evaluate this representation in the test case prioritization (TP) task. Our default TP method is based on the similarity of the embedded vectors to historical failing test vectors. We also study an alternative based on the diversity of test vectors. Finally, we propose a method to decide which TP to choose, for a given test suite. The experiment is based on several real and seeded faults with over a million execution traces. Results show that our proposed TP improves the best embedding alternative by 40.62% in terms of the median normalized rank of the first failing test case (FFR). It outperforms traditional code coverage-based approaches by 20.72% and 72.59% in terms of median APFD and median normalized FFR. | en_US |
dc.identifier.citation | Jabbar, E. (2022). Application of transformers in software test case prioritization (Master's thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca. | en_US |
dc.identifier.uri | http://hdl.handle.net/1880/115222 | |
dc.identifier.uri | https://dx.doi.org/10.11575/PRISM/40241 | |
dc.language.iso | eng | en_US |
dc.publisher.faculty | Schulich School of Engineering | en_US |
dc.publisher.institution | University of Calgary | en |
dc.rights | University of Calgary graduate students retain copyright ownership and moral rights for their thesis. You may use this material in any way that is permitted by the Copyright Act or through licensing that has been assigned to the document. For uses that are not allowable under copyright legislation or licensing, you are required to seek permission. | en_US |
dc.subject | Software Engineering | en_US |
dc.subject | Machine Learning | en_US |
dc.subject | Test Case Prioritization | en_US |
dc.subject | Transformers | en_US |
dc.subject.classification | Artificial Intelligence | en_US |
dc.subject.classification | Computer Science | en_US |
dc.title | Application of Transformers in Software Test Case Prioritization | en_US |
dc.type | master thesis | en_US |
thesis.degree.discipline | Engineering – Electrical & Computer | en_US |
thesis.degree.grantor | University of Calgary | en_US |
thesis.degree.name | Master of Science (MSc) | en_US |
ucalgary.item.requestcopy | true | en_US |