Show simple item record

dc.contributor.advisorGanapathy, Vinod
dc.contributor.authorMalakar, Subhendu
dc.date.accessioned2021-05-20T07:18:50Z
dc.date.available2021-05-20T07:18:50Z
dc.date.submitted2019
dc.identifier.urihttps://etd.iisc.ac.in/handle/2005/5130
dc.description.abstractDirected testing is a technique to analyze user-specified target locations in the program. It reduces the time and effort of developers by excluding irrelevant parts of the program from testing and focusing on reaching the target location. Existing tools for directed testing employ either symbolic execution with heavy-weight program analysis or fuzz testing mixed with hand-tuned heuristics. In this thesis, we explore the feasibility of using a data-driven approach for directed testing. We aim to leverage the data generated by fuzz testing tools. We train an agent on the data collected from the fuzzers to learn a better mutation strategy based on the program input. The agent then directs the fuzzer towards the target location by instructing the optimal action for each program input. We use reinforcement learning based algorithms to train the agent. We implemented a prototype of our approach and tested it on synthetic as well as real-world programs. We evaluated and compared different reward functions. In our experiments, we observe that for simple synthetic programs, our approach can reach the target location with fewer mutations compared to AFL and AFLGo that employ random mutations. However, for complex programs, the results are mixed. No one technique can perform consistently for all programs.en_US
dc.language.isoen_USen_US
dc.relation.ispartofseries;G29881
dc.rightsI grant Indian Institute of Science the right to archive and to make available my thesis or dissertation in whole or in part in all forms of media, now hereafter known. I retain all proprietary rights, such as patent rights. I also retain the right to use in future works (such as articles or books) all or part of this thesis or dissertationen_US
dc.subjectSoftware testingen_US
dc.subjectfuzz testingen_US
dc.subjectAFLGoen_US
dc.subject.classificationResearch Subject Categories::TECHNOLOGY::Information technology::Systems engineeringen_US
dc.titleExperiences in using Reinforcement Learning for Directed Fuzzingen_US
dc.typeThesisen_US
dc.degree.nameMTech (Res)en_US
dc.degree.levelMastersen_US
dc.degree.grantorIndian Institute of Scienceen_US
dc.degree.disciplineEngineeringen_US


Files in this item

This item appears in the following Collection(s)

Show simple item record