Helping Student Programmers Identify and Fix Bugs Using Static Analysis Tools

dc.contributor.authorSenger, Allyson Laurenen
dc.contributor.committeechairEdwards, Stephen H.en
dc.contributor.committeechairEllis, Margaret O.'Neilen
dc.contributor.committeememberShaffer, Clifford A.en
dc.contributor.departmentComputer Scienceen
dc.date.accessioned2022-01-12T04:41:39Zen
dc.date.available2022-01-12T04:41:39Zen
dc.date.issued2022-01-11en
dc.description.abstractStatic analysis tools can be used to help programmers identify problems in their code. However, these tools often assume that developers have some programming background knowledge, so they can be hard to use in an educational context. We investigated the most common FindBugs errors from student code submissions and determined those errors that were related to incorrect solutions to problems and potential struggling for students. FindBugs is a static analysis tool that looks for incorrect patterns in Java bytecode analysis to identify potential coding flaws. For the common errors, we rewrote some of the original FindBugs messages to help students more easily understand the problems with their code. We found that students with at least one FindBugs warning in their final submission to an assignment had more submissions, longer work times, and lower correctness scores than students who did not have a FindBugs warning in their final submission. Adding modified FindBugs feedback to the automated grader resulted in students making fewer submissions and decreasing the length of time required to complete assignments.en
dc.description.abstractgeneralProfessional software developers use automated tools when they code to help them catch potential coding problems. These tools are difficult for novice student programmers because they do not have the same level of background as professionals. In this work, we attempted to change the feedback given by these tools so that students could understand it and use it to fix their code. We found that, across all of the undergraduate courses in this study, FindBugs warnings were associated with students having more trouble with assignments. When students could see FindBugs warnings, their time to complete assignments and the number of attempts they made both went down.en
dc.description.degreeMaster of Scienceen
dc.format.mediumETDen
dc.identifier.othervt_gsexam:33705en
dc.identifier.urihttp://hdl.handle.net/10919/107555en
dc.language.isoenen
dc.publisherVirginia Techen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectstatic analysis toolsen
dc.subjectFindBugsen
dc.subjecterror messagesen
dc.subjectnovice programmersen
dc.subjectfeedbacken
dc.titleHelping Student Programmers Identify and Fix Bugs Using Static Analysis Toolsen
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 - 1 of 1
Loading...
Thumbnail Image
Name:
Senger_AL_T_2022.pdf
Size:
1.57 MB
Format:
Adobe Portable Document Format

Collections