Show simple item record

dc.rights.licenseCC-BY-NC-ND
dc.contributor.advisorPrasetya, Wishnu
dc.contributor.authorVrooman, Jesse
dc.date.accessioned2024-08-26T23:05:56Z
dc.date.available2024-08-26T23:05:56Z
dc.date.issued2024
dc.identifier.urihttps://studenttheses.uu.nl/handle/20.500.12932/47436
dc.description.abstractThe path explosion problem is a significant issue for verification tools that use symbolic execution. Monotonic partial order reduction introduces a sound and complete method of pruning paths irrelevant to the verification process. It does this by finding dependencies within transitions, chaining them, and determining if a computation can be considered quasi-monotonic; if not, the path can be pruned. The algorithm does not clarify possible dependencies between symbolic or concrete references to objects and arrays that must be considered when pruning paths in a concurrent object-oriented language. The contributions made by this research are the extension of the original monotonic partial order reduction method, as well as a performance study of the algorithm when implemented in a symbolic execution verification tool. After a comprehensive, in-depth look at the monotonic partial order reduction algorithm, it was implemented in a verification tool for an intermediate object-oriented language called OOX. When testing the verification tool using many benchmark programs, it is shown that the algorithm remained sound in the pruning of paths and is complete over most scenarios (does not allow for pruning paths using assumptions made over symbolic references). The testing also showed that the algorithm caused a significant increase in performance when compared to not having any form of path reduction, and a simplistic reduction method.
dc.description.sponsorshipUtrecht University
dc.language.isoEN
dc.subjectResearching the capabilities of partial order reduction for concurrent programs within symbolic execution. Symbolic execution is a form of formal program verification that can verify if programs are correct, without requiring inputs for the program. An existing program verification tool developed in Utrecht University is extended with the ability to verify concurrent programs. Then monotonic partial order reduction is researched and implemented within this tool to increase its performance.
dc.titlePartial Order Reduction in Symbolic Execution for Object-Oriented Languages
dc.type.contentMaster Thesis
dc.rights.accessrightsOpen Access
dc.subject.keywordsPartial Order Reduction; Monotonic Partial Order Reduction; Program Verification; Symbolic Execution; OOX
dc.subject.courseuuComputing Science
dc.thesis.id38043


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record