UWSpace is currently experiencing technical difficulties resulting from its recent migration to a new version of its software. These technical issues are not affecting the submission and browse features of the site. UWaterloo community members may continue submitting items to UWSpace. We apologize for the inconvenience, and are actively working to resolve these technical issues.
 

Enabling Language-Specific Transformations in Language-Agnostic Program Reduction

dc.contributor.authorZhao, Gaosen
dc.date.accessioned2023-08-30T18:53:22Z
dc.date.issued2023-08-30
dc.date.submitted2023-08-28
dc.description.abstractWhen a program P triggers a bug in a language implementation, program reduction can reduce P by removing program elements that are irrelevant to the bug, to facilitate debugging. Program reduction has been widely used in communities of various language implementations. Generally, program reduction techniques can be classified into language-agnostic program reducers (ARs) category and language-specific program reducers (SRs) category. ARs work generally well in a wide range of languages but usually produce less optimal results than SRs due to a lack of domain knowledge of specific languages. However, SRs require extensive engineering effort to leverage the domain knowledge, and can only function in their target language but not in other languages. To combine the benefits of both ARs and SRs and minimize the gap between the two, a novel, general transformation framework, Metis,1 is introduced. Specifically, Metis allows users to specify language-specific program transformations to further minimize the results by SRs and the users only need to know the syntax of the target language and a concise domain-specific language named MTL (Metis Transformation Language) provided by Metis; Metis automatically processes the transformation rules inscribed in MTL by performing pattern matching and subsequent rewriting operations on the parse tree of the program under reduction. Metis provides a general, unified framework for specifying program transformations for different languages. We comprehensively evaluated Metis on two benchmark sets of C and SMT-LIB pro- grams and the results demonstrate that Metis yields much smaller programs than the state-of-the-art language-agnostic program reducer by 35.8% on average. We also compared Metis with two SRs: ddSMT and C-Reduce. Metis produces results of comparable size to ddSMT, but with a noticeable 28.9% shorter reduction time; while falling short of matching the reduced program size by C-Reduce, Metis saves 82.4% of queries and achieves a speed improvement of 30.6% less runtime.en
dc.identifier.urihttp://hdl.handle.net/10012/19806
dc.language.isoenen
dc.pendingfalse
dc.publisherUniversity of Waterlooen
dc.subjectSoftware Engineeringen
dc.subjectSoftware Testingen
dc.subjectProgramming Languagesen
dc.titleEnabling Language-Specific Transformations in Language-Agnostic Program Reductionen
dc.typeMaster Thesisen
uws-etd.degreeMaster of Mathematicsen
uws-etd.degree.departmentDavid R. Cheriton School of Computer Scienceen
uws-etd.degree.disciplineComputer Scienceen
uws-etd.degree.grantorUniversity of Waterlooen
uws-etd.embargo2025-08-29T18:53:22Z
uws-etd.embargo.terms2 yearsen
uws.contributor.advisorSun, Chengnian
uws.contributor.affiliation1Faculty of Mathematicsen
uws.peerReviewStatusUnrevieweden
uws.published.cityWaterlooen
uws.published.countryCanadaen
uws.published.provinceOntarioen
uws.scholarLevelGraduateen
uws.typeOfResourceTexten

Files

License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
6.4 KB
Format:
Item-specific license agreed upon to submission
Description: