Hybrid Analysis Tools for Computer Systems Education

dc.contributor.authorWilliamson, Eric Roberten
dc.contributor.committeechairBack, Godmar V.en
dc.contributor.committeememberButt, Ali R.en
dc.contributor.committeememberLee, Dongyoonen
dc.contributor.departmentComputer Scienceen
dc.date.accessioned2018-07-10T08:02:20Zen
dc.date.available2018-07-10T08:02:20Zen
dc.date.issued2018-07-09en
dc.description.abstractTo learn about computer operating systems, students at Virginia Tech implement a command-line shell in their Computer Systems course. Successfully implementing the shell requires a deep understanding of operating system abstractions and interactions. Students often struggle with the project because subtle errors can take hours to debug. In this work, we developed two hybrid domain-specific analysis tools to pinpoint the root causes of student errors: EshMD and ShellTrace. The EshMD tool models common errors in the shell and checks the student code against those models. To accomplish this, it monitors the specific calls the program is making and correlates those with expected changes in its environment. Students' errors are shown directly in the source code. The concept of EshMD can be applied to other programming projects by observing and modeling common bugs during implementation. The ShellTrace tool dynamically creates a specification from a reference solution based on how the reference solution makes use of operating system resources and then uses this specification to check that a student solution is functionally identical. The ShellTrace concept can be applied to other programs that exhibit similar resource dependencies. We deployed these tools in an undergraduate computer systems class and evaluated our tools based on the number of bugs detected and the students' perceptions of usefulness. We found that the tools detected a significant number of bugs and that the majority of students that made use of the tools found them valuable in debugging their submissions.en
dc.description.degreeMaster of Scienceen
dc.format.mediumETDen
dc.identifier.othervt_gsexam:16283en
dc.identifier.urihttp://hdl.handle.net/10919/83894en
dc.publisherVirginia Techen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectCS Educationen
dc.subjectProgram Analysisen
dc.subjectToolsen
dc.titleHybrid Analysis Tools for Computer Systems Educationen
dc.typeThesisen
thesis.degree.disciplineComputer Science and Applicationsen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.levelmastersen
thesis.degree.nameMaster of Scienceen

Files

Original bundle
Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
Williamson_ER_T_2018.pdf
Size:
1.26 MB
Format:
Adobe Portable Document Format
Loading...
Thumbnail Image
Name:
Williamson_ER_T_2018_support_3.pdf
Size:
402.99 KB
Format:
Adobe Portable Document Format
Description:
Supporting documents

Collections