Please use this identifier to cite or link to this item:

Can Industrial-Strength Static Analysis Be Used to Help Students Who Are Struggling to Complete Programming Activities?

File Size Format  
0781.pdf 289.21 kB Adobe PDF View/Open

Item Summary Edwards, Stephen Spacco, Jaime Hovemeyer, David 2019-01-03T01:05:07Z 2019-01-03T01:05:07Z 2019-01-08
dc.identifier.isbn 978-0-9981331-2-6
dc.description.abstract Static analysis tools evaluate source code to identify potential problems or issues beyond typical compiler errors. Prior work has shown a statistically significant relationship between the correctness of a student's work and statically identifiable flaws or "code smells" that are likely to indicate programming errors. This paper presents a comprehensive study of this relationship in the context of small programming exercises intended for use in student skill building. We use FindBugs, a static analysis tool that identifies program features that are likely to represent actual bugs in professional software. Our goal is to identify the extent to which FindBugs warnings might help novices struggling to solve short programming exercises. In this study, we ran FindBugs against 149,054 answers submitted by 516 students on 57 drill-and-practice coding exercises. We identify the specific FindBugs warnings that are inversely correlated with correctness. We confirm that presence of these warnings is significantly associated with struggling on an exercise, as indicated by taking more time, making more submissions, and receiving lower scores. Finally, every exercise exhibited answers that trigger these warnings, and 92.4% of students would experience these warnings over a full semester. Our results indicate that static analysis with tools designed for use in industry offers an untapped opportunity to provide hints or suggestions to students who are measurably struggling.
dc.format.extent 10 pages
dc.language.iso eng
dc.relation.ispartof Proceedings of the 52nd Hawaii International Conference on System Sciences
dc.rights Attribution-NonCommercial-NoDerivatives 4.0 International
dc.subject Vision and Novel Delivery
dc.subject Software Engineering Education and Training
dc.subject CS Education
dc.subject static analysis
dc.subject drill-and-practice
dc.subject errors
dc.subject bugs
dc.subject hints
dc.subject CodeWorkout
dc.subject FindBugs
dc.subject CS1
dc.subject CS2
dc.title Can Industrial-Strength Static Analysis Be Used to Help Students Who Are Struggling to Complete Programming Activities?
dc.type Conference Paper
dc.type.dcmi Text
Appears in Collections: Vision and Novel Delivery

Please email if you need this content in ADA-compliant format.

This item is licensed under a Creative Commons License Creative Commons