Automated techniques for prioritization of metamorphic relations for effective metamorphic testing

dc.contributor.advisorChairperson, Graduate Committee: John Paxton and Upulee Kanewala (co-chair)en
dc.contributor.authorSrinivasan, Madhusudanen
dc.date.accessioned2023-02-08T14:23:24Z
dc.date.available2023-02-08T14:23:24Z
dc.date.issued2022en
dc.description.abstractAn oracle is a mechanism to decide whether the outputs of the program for the executed test cases are correct. In many situations, the oracle is not available or too difficult to implement. Metamorphic testing is a testing approach that uses metamorphic relations (MRs), properties of the software under test represented in the form of relations among inputs and outputs of multiple executions, to help verify the correctness of a program. Typically, MRs vary in their ability to detect faults in the program under test, and some MRs tend to detect the same set of faults. In this work, we aim to prioritize MRs to improve the efficiency and effectiveness of MT. We present five MR prioritization approaches: (1) Fault-based, (2) Coverage-based, (3) Statement Centrality-based, (4) Variable-based, and (5) Data Diversity-based. To evaluate these MR prioritization approaches, we conducted experiments on complex open- source software systems and machine learning programs. Our results suggest that the proposed MR prioritization approaches outperform the current practice of executing the source and follow-up test cases of the MRs randomly. Further, our results show that Statement Centrality-based and Variable-based approaches outperform Code Coverage and random-based approaches. Also, the proposed approaches show 21% higher rate of fault detection over random-based prioritization. For machine learning programs, the proposed Data Diversity-based MR prioritization approach increases the fault detection effectiveness by up to 40% when compared to the Code Coverage- based approach and reduces the time taken to detect a fault by 29% when compared to random execution of MRs. Further, all the proposed approaches lead to reducing the number of MRs that needs to be executed. Overall, our work would result in saving time and cost during the metamorphic testing process.en
dc.identifier.urihttps://scholarworks.montana.edu/handle/1/17406en
dc.language.isoenen
dc.publisherMontana State University - Bozeman, College of Engineeringen
dc.rights.holderCopyright 2022 by Madhusudan Srinivasen
dc.subject.lcshSoftware engineeringen
dc.subject.lcshTestingen
dc.subject.lcshEvaluationen
dc.subject.lcshMachine learningen
dc.titleAutomated techniques for prioritization of metamorphic relations for effective metamorphic testingen
dc.typeDissertationen
mus.data.thumbpage69en
thesis.degree.committeemembersMembers, Graduate Committee: Sean Yaw; David Millmanen
thesis.degree.departmentComputing.en
thesis.degree.genreDissertationen
thesis.degree.namePhDen
thesis.format.extentfirstpage1en
thesis.format.extentlastpage166en

Files

Original bundle

Now showing 1 - 1 of 1
Thumbnail Image
Name:
srinivasan-automated-2022.pdf
Size:
2.71 MB
Format:
Adobe Portable Document Format
Description:
Automated techniques for prioritization of metamorphic relations for effective metamorphic testing (PDF)

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Plain Text
Description:
Copyright (c) 2002-2022, LYRASIS. All rights reserved.