Show simple item record

dc.rights.licenseCC-BY-NC-ND
dc.contributor.advisorPrasetya, Wishnu
dc.contributor.authorAl-Awwadi, Hassan
dc.date.accessioned2025-08-15T00:02:40Z
dc.date.available2025-08-15T00:02:40Z
dc.date.issued2025
dc.identifier.urihttps://studenttheses.uu.nl/handle/20.500.12932/49740
dc.description.abstractThe Path explosion problem is a bane that haunts all symbolic execution engines. Too many programming constructs contribute to it, from the humble if statement to the noble fork statement. There are multiple methods to try and reduce it, heuristics for choosing paths, diagonalizing the search space of paths, pruning paths early, and the one we will be focusing on: State Merging. In state merging the paths get fused back together at ‘join points’, but the merging of the states causes the final state to be bigger, to contain a disjunction within its premise, and as a result its not always a win. Often, its a loss, where the combined state is harder to solve for a SMT-solver than the separate states would’ve been. So again we are forced to use heuristics to decide whether we merge or not, or prune paths. Introducing State Merging without anything is not enough. We extend state merging with abstraction, in the hope that this provides fruitful, but find that it does not. State merging in general performs quite a bit better than initially expected, however, even without the abstraction.
dc.description.sponsorshipUtrecht University
dc.language.isoEN
dc.subjectSymbolic Execution is known to suffer from the 'path explosion' problem, where programs have explosively many paths to symbolically execute. We research state merging, where paths are rejoined at 'merge points', this is sometimes a performance boost and sometimes a performance malus and we try to figure out when its which.
dc.titleSymbolic Execution + Merging
dc.type.contentMaster Thesis
dc.rights.accessrightsOpen Access
dc.subject.keywordsComputer Science, Program Analysis, Program Verification, Static Verification, Symbolic Execution
dc.subject.courseuuComputing Science
dc.thesis.id51662


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record