Publication details

Detecting Overcomplicated Conditions in Student Code Automatically

Authors

CZINEGE Daniel ŘECHTÁČKOVÁ Anna

Year of publication 2026
Type Paper in proceedings
Conference Proceedings of the 57th ACM Technical Symposium on Computer Science Education V 2
MU Faculty or unit

Faculty of Informatics

Citation
web ACM Digital Library
Doi https://doi.org/10.1145/3770761.3777356
Description Code quality is an important component of programming practice, so it is essential to teach it to programming learners. Conditional statements, one of the first programming constructs novices encounter, can already exhibit numerous issues. However, identifying these issues manually and explaining them to novices is time-consuming, and many of their variations lack automatic detection methods. In this work, we introduce five issues found in novice code and present automatic detectors for each. Our detectors leverage a satisfiability-modulo-theory solver called Z3 to determine whether a set of conditions is satisfiable, enabling the identification of unnecessary or redundant conditions. Lastly, we analyze the prevalence of these issues in a large dataset of novice code.
Related projects:

You are running an old browser version. We recommend updating your browser to its latest version.

More info