Model-free Stateful Random Testing

dc.contributor.advisorLampropoulos, Leonidasen_US
dc.contributor.authorChou, Ethan Khanen_US
dc.contributor.departmentComputer Scienceen_US
dc.contributor.publisherDigital Repository at the University of Marylanden_US
dc.contributor.publisherUniversity of Maryland (College Park, Md.)en_US
dc.date.accessioned2026-01-28T06:43:00Z
dc.date.issued2025en_US
dc.description.abstractProperty-based testing (PBT) has enabled greater confidence in the correctness of programsand facilitated formal verification by exposing false theorems earlier in the proving process. However, most PBT libraries are designed for pure programs, even though much critical software such as systems software are stateful. Current stateful PBT libraries generally require the programmer to implement a model of the program under test, increasing developer overhead and introducing another source of error. In this thesis, I aim to significantly reduce developer overhead when testing stateful programs. I introduce seq-test, a tool for testing stateful C programs that eliminates the need for models. seq-test is embedded in CN, a specification language for formally verifying C programs. Test generation uses a generation-by-execution strategy, where CN preconditions are used to discard illegal call sequences, and CN postconditions are used to detect bugs. We also implement two- phase shrinker to increase the usability of generated falsifying examples in debugging. Finally, I evaluate the bug-finding ability of seq-test against AFL++, a popular fuzzer, and Bennet, a PBT tool embedded in CN, on a variety of case studies.en_US
dc.identifierhttps://doi.org/10.13016/0awe-79tb
dc.identifier.urihttp://hdl.handle.net/1903/35172
dc.language.isoenen_US
dc.subject.pqcontrolledComputer scienceen_US
dc.titleModel-free Stateful Random Testingen_US
dc.typeThesisen_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Chou_umd_0117N_25778.pdf
Size:
283.55 KB
Format:
Adobe Portable Document Format