Withdraw
Loading…
Using concolic execution to identify IA32 program errors
Zhang, Haoyang
Loading…
Permalink
https://hdl.handle.net/2142/107261
Description
- Title
- Using concolic execution to identify IA32 program errors
- Author(s)
- Zhang, Haoyang
- Contributor(s)
- Lumetta, Steven
- Issue Date
- 2020-05
- Keyword(s)
- Concolic Execution
- Symbolic Execution
- IA32
- Lexical Analysis
- Control Flow Analysis
- Abstract
- In computer science education, one of the most important tasks is to provide students with feedback that can help them discover errors in their assignment code. Traditionally, this check is achieved by executing a series of pre-defined test cases. But many bugs are not easily exposed by such test cases, which are thus insufficient for fair grading. Furthermore, failed test cases give students little feedback as to how to fix their code. In the last decade, tools have been developed for code testing that aim at achieving high code coverage even in strict environments, such as interacting with the operating system. These tools can be helpful if applied in computer science education. Among these tools, KLEE is particularly designed for improving control flow paths coverage by exploring different execution paths in the program using concolic execution. In this thesis, we investigate the possibility of using concolic execution with KLEE to generate feedback for student assignments written in IA32 (32-bit version of x86) assembly, like the MP1 in our operating systems course (ECE391). By developing tools for lexical and control flow analysis to translate IA32 to C, we were able to take advantage of KLEE to explore the program’s execution path thoroughly to generate test cases and feedback that can be helpful for students to detect problems in their programs. The initial test shows that among the 180 student codes, our tool picked up 139 cases that contain errors compared to the 105 cases that got picked up by the normal grader, and that all student codes that have errors detected by the grader have been detected to contain errors by our tool.
- Type of Resource
- text
- Language
- en
- Permalink
- http://hdl.handle.net/2142/107261
Owning Collections
Senior Theses - Electrical and Computer Engineering PRIMARY
The best of ECE undergraduate researchManage Files
Loading…
Edit Collection Membership
Loading…
Edit Metadata
Loading…
Edit Properties
Loading…
Embargoes
Loading…