Classifying, constraining and ranking metamorphic relations
dc.contributor.advisor | Pfahl, Dietmar Alfred Paul Kurt, juhendaja | |
dc.contributor.author | Duque Torres, Alejandra | |
dc.contributor.other | Tartu Ülikool. Loodus- ja täppisteaduste valdkond | |
dc.date.accessioned | 2025-01-16T11:46:19Z | |
dc.date.available | 2025-01-16T11:46:19Z | |
dc.date.issued | 2025-01-16 | |
dc.description.abstract | Tarkvara testimine tagab, et lõplik tarkvaratoode töötab õigesti, kuid see on sageli aeganõudev, kulukas ja keeruline, eriti suurte süsteemide puhul. Üks suurimaid väljakutseid on "testioraakli probleem"—raskus määrata tarkvara testimise ajal õige väljund. See probleem tekib, kui testitaval tarkvaral (SUT) puudub oraakel või selle loomine on teostamatu. Metamorfne testimine (MT) otsib sellele probleemile lahendust. Erinevalt traditsioonilistest testimismeetoditest, mis keskenduvad üksikute sisend-väljund kombinatsioonide kontrollimisele, analüüsib MT sisend-väljund paaride seoseid üle tarkvara mitmete käivituste. Neid seoseid määratlevad metamorfsed seosed (ingl Metamorphic Relations, MRs), mis näitavad, kuidas peaksid väljundid vastavalt konkreetsete sisendite muutustele muutuma. Selliste seoste rikkumine viitab suurele tõenäosusele, et SUT sisaldab viga. Käesoleva lõputöö eesmärk on MT tulemuslikkust parandada, uurides ja tutvustades uusi meetodeid metamorfsete seoste klassifitseerimiseks, täiustamiseks ja järjestamiseks. Töö esimeseks väljundiks on MetaTrimmer, mis võimaldab metamorfseid seoseid klassifitseerida. See meetod hindab seoste käitumist programmi erinevate sisendite põhjal, mis on programmile testandmetena antud. Jättes kõrvale eelduse, et metamorfne seos kehtib universaalselt, tuvastab MetaTrimmer konkreetsed testandmed, mille puhul seos kehtib ning võimaldab seega täpsemat klassifitseerimist. Teine panus, MetaTrimmer+, tuvastab testandmetes mustreid eesmärgiga segajuhtumites kasutatavaid metamorfseid seoseid täiustada. Kolmas panus keskendub metamorfsete seoste järjestamisele nende veatuvastamise võimekuse alusel, kusjuures kõige tõhusamad seosed prioritiseeritakse kasutades MetaTrimmerit, mis on kombineeritud mutatsioonitestimisega. See meetod aitab vähendada testjuhtumite arvu, säilitades samal ajal kõrge veatuvastuse. Kolmas panus rakendati edukalt tööstuslikus juhtumiuuringus, tõestades selle praktilist väärtust. | |
dc.description.abstract | Software testing ensures the final software product functions correctly, but it is often time-consuming, costly, and complex, particularly for large systems. One major challenge is the "test oracle problem"—the difficulty of determining the correct output when testing software. This problem arises when the software under test (SUT) lacks an oracle or when creating one is infeasible. Metamorphic Testing (MT) addresses this problem. Unlike traditional techniques that focus on verifying individual input-output combinations, MT analyzes relationships between input-output pairs across multiple executions. These relationships are defined by Metamorphic Relations (MRs), specifying how outputs should change in response to specific input modifications. Violating an MR signals a potential fault within the SUT, making MT a valuable tool for addressing the test oracle problem. The effectiveness of MT depends largely on the quality of the MRs. This thesis introduces new methods for classifying, refining, and ranking MRs to improve MT’s efficiency. The first contribution, MetaTrimmer, offers a method for classifying MRs based on their behaviour across different test data inputs. This allows for a more accurate classification by identifying specific cases where MRs are valid. The second contribution, MetaTrimmer+, refines MRs that show mixed results by identifying patterns within the data. This refinement enhances usability and expands the range of effective test cases. The third contribution focuses on ranking MRs based on their defect-detection capabilities, using MetaTrimmer and mutation testing to prioritise the most effective MRs. This method helps reduce the number of test cases while maintaining high defect detection. The contribution three was successfully applied in an industrial case study, proving their practical value. | |
dc.description.uri | https://www.ester.ee/record=b5728896 | |
dc.identifier.isbn | 978-9916-27-785-0 | |
dc.identifier.isbn | 978-9916-27-786-7 (pdf) | |
dc.identifier.issn | 2613-5906 | |
dc.identifier.issn | 2806-2345 (pdf) | |
dc.identifier.uri | https://hdl.handle.net/10062/106600 | |
dc.language.iso | en | |
dc.publisher | Tartu Ülikooli Kirjastus | |
dc.relation.ispartofseries | Dissertationes informaticae Universitatis Tartuensis; 63 | |
dc.rights | Attribution-NonCommercial-NoDerivs 3.0 Estonia | en |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/ee/ | |
dc.subject | doktoritööd | et |
dc.title | Classifying, constraining and ranking metamorphic relations | |
dc.title.alternative | Metamorfsete seoste klassifitseerimine, täiustamine ja järjestamine | |
dc.type | Thesis | en |
Failid
Originaal pakett
1 - 1 1