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.
 

DASE: Document-Assisted Symbolic Execution for Improving Automated Test Generation

dc.contributor.authorZhang, Lei
dc.date.accessioned2014-06-17T18:47:52Z
dc.date.available2015-06-18T05:30:26Z
dc.date.issued2014-06-17
dc.date.submitted2014-06-16
dc.description.abstractSoftware testing is crucial for uncovering software defects and ensuring software reliability. Symbolic execution has been utilized for automatic test generation to improve testing effectiveness. However, existing test generation techniques based on symbolic execution fail to take full advantage of programs’ rich amount of documentation specifying their input constraints, which can further enhance the effectiveness of test generation. In this paper we present a general approach, Document-Assisted Symbolic Execution (DASE), to improve automated test generation and bug detection. DASE leverages natural language processing techniques and heuristics to analyze programs’ readily available documentation and extract input constraints. The input constraints are then used as pruning criteria; inputs far from being valid are trimmed off. In this way, DASE guides symbolic execution to focus on those inputs that are semantically more important. We evaluated DASE on 88 programs from 5 mature real-world software suites: GNU Coreutils, GNU findutils, GNU grep, GNU Binutils, and elftoolchain. Compared to symbolic execution without input constraints, DASE increases line coverage, branch coverage, and call coverage by 5.27–22.10%, 5.83–21.25% and 2.81–21.43% respectively. In addition, DASE detected 13 previously unknown bugs, 6 of which have already been confirmed by the developers.en
dc.description.embargoterms1 yearen
dc.identifier.urihttp://hdl.handle.net/10012/8532
dc.language.isoenen
dc.pendingfalse
dc.publisherUniversity of Waterlooen
dc.subjectAutomated Test Generationen
dc.subjectBug Detectionen
dc.subjectSymbolic Executionen
dc.subjectPath Pruningen
dc.subjectDocumentation Analysisen
dc.subjectNatural Language Processingen
dc.subject.programElectrical and Computer Engineeringen
dc.titleDASE: Document-Assisted Symbolic Execution for Improving Automated Test Generationen
dc.typeMaster Thesisen
uws-etd.degreeMaster of Applied Scienceen
uws-etd.degree.departmentElectrical and Computer Engineeringen
uws.peerReviewStatusUnrevieweden
uws.scholarLevelGraduateen
uws.typeOfResourceTexten

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Zhang_Lei.pdf
Size:
346.46 KB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
2.67 KB
Format:
Item-specific license agreed upon to submission
Description: