Application of Transformers in Software Test Case Prioritization

dc.contributor.advisorHemmati, Hadi
dc.contributor.authorJabbar, Emad
dc.contributor.committeememberDe Carli, Lorenzo
dc.contributor.committeememberYanushkevich, Svetlana
dc.date2022-11
dc.date.accessioned2022-09-14T15:46:07Z
dc.date.available2022-09-14T15:46:07Z
dc.date.issued2022-09
dc.description.abstractMost 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.citationJabbar, 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.urihttp://hdl.handle.net/1880/115222
dc.identifier.urihttps://dx.doi.org/10.11575/PRISM/40241
dc.language.isoengen_US
dc.publisher.facultySchulich School of Engineeringen_US
dc.publisher.institutionUniversity of Calgaryen
dc.rightsUniversity 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.subjectSoftware Engineeringen_US
dc.subjectMachine Learningen_US
dc.subjectTest Case Prioritizationen_US
dc.subjectTransformersen_US
dc.subject.classificationArtificial Intelligenceen_US
dc.subject.classificationComputer Scienceen_US
dc.titleApplication of Transformers in Software Test Case Prioritizationen_US
dc.typemaster thesisen_US
thesis.degree.disciplineEngineering – Electrical & Computeren_US
thesis.degree.grantorUniversity of Calgaryen_US
thesis.degree.nameMaster of Science (MSc)en_US
ucalgary.item.requestcopytrueen_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
ucalgary_2022_jabbar_emad.pdf
Size:
1.21 MB
Format:
Adobe Portable Document Format
Description:

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
2.62 KB
Format:
Item-specific license agreed upon to submission
Description: