Files in this item



application/pdfSP21-ECE499-Thesis-Li, Qi.pdf (2MB)
(no description provided)PDF


Title:VSCode extension for LC-3 programming
Author(s):Li, Qi
Contributor(s):Lumetta, Stephen
Degree:B.S. (bachelor's)
Subject(s):Static Analysis
Assembly Language
Software Engineering
Student Feedback
Abstract:As an aid to the teaching and learning processes in elementary programming classes, we developed a VSCode extension to provide static-analysis-based feedback for LC-3 assembly code. The extension implements per-instruction analysis, control flow analysis, dataflow analysis, and subroutine analysis. Feedback messages about potential issues in the code are conveyed via VSCode’s squiggles and pop-up windows. The ability to convey meaningful feedback messages to students while they write their code increases the expected functionality grade in machine problems. For the first machine problem in ECE 220, within all commits that assemble, the code samples that are warning-free have 10 points higher average functionality score than do commits that generate warnings. The extension code can also be used as a standalone program to process source code in bulk and to provide detailed information on issues. This program can be used by teaching staff to obtain information on all students’ code, potentially reducing the human time involved in the evaluation of coding style. Using the program, we also found evidence that students using the VSCode extension tend to have fewer issues than those who did not use the extension, suggesting that students do try to address issues brought to their attention. Comparing across solutions produced by different classes reveals that the tool is also able to identify interesting stylistic variations likely induced by slight changes in the assignments, indicating a need for more careful instruction on certain topics—in the case found, the implementation of loop constructs. Students doing an assignment with slightly greater difficulty in designing loop structures were 34% more likely to hand-unroll loops. At the time of deposit, the extension has been downloaded by 206 users, not including students in Fall 2020.
Issue Date:2021-05
Genre:Dissertation / Thesis
Date Available in IDEALS:2021-08-11

This item appears in the following Collection(s)

Item Statistics