Cited by 46Teaching and Learning ProgrammingLogic, programming, and type systemsSoftware Engineering Research

Static Analyses in Python Programming Courses

Liu, David, Petersen, Andrew·2019·Proceedings of the 50th ACM Technical Symposium on Computer Science Education

Abstract

Students learning to program often rely on feedback from the compiler and from instructor-provided test cases to help them identify errors in their code. This feedback focuses on functional correctness, and the output, which is often phrased in technical language, may be difficult to for novices to understand or effectively use. Static analyses may be effective as a complementary aid, as they can highlight common errors that may be potential sources of problems. In this paper, we introduce PyTA, a wrapper for pylint that provides custom checks for common novice errors as well as improved messages to help students fix the errors that are found. We report on our experience integrating PyTA into an existing online system used to deliver programming exercises to CS1 students and evaluate it by comparing exercise submissions collected from the integrated system to previously collected data. This analysis demonstrates that, for students who chose to read the PyTA output, we observed a decrease in time to solve errors, occurrences of repeated errors, and submissions to complete a programming problem. This suggests that PyTA, and static analyses in general, may help students identify functional issues in their code not highlighted by compiler feedback and that static analysis output may help students more quickly identify debug their code.

Integrity signals

Registry

Crossref · 10.1145/3287324.3287503

Cites

16 of 16 references verified0 citation errors · 0 not checkable

Statistics

Recomputing p-values needs the paper’s full text.

Claims the paper makes

This paper’s full text isn’t openly available, so its claims and self-check weren’t run. The registry and citation checks still apply.

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

Cites

Flagged first, then by citations

Cited by

Sorted by citations

Authors
Liu, D., & Petersen, A.
Affiliations
University of Toronto (CA)
Venue
Proceedings of the 50th ACM Technical Symposium on Computer Science Education
Publisher
ACM
Published
2019-02-22
Pages
666-671
OpenAlex
W2916351062
Cited by
46
References
16
Citations by year
2026: 3 · 2025: 12 · 2024: 9 · 2023: 10 · 2022: 5 · 2021: 1 · 2020: 3 · 2019: 3
FWCI
3.47
Type
conference paper
Language
en
Open access
closed
Locations
ACM Technical Symposium on Computer Science Education (SIGCSE) (publishedVersion)
Topics
  • Physical Sciences › Computer Science › Computer Science Applications › Teaching and Learning Programming
  • Physical Sciences › Computer Science › Artificial Intelligence › Logic, programming, and type systems
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Research
Keywords
static analysis, Pylint, novice programmers, programming education, CS1, error feedback, debugging, programming exercises, error messages

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review