Evaluation of programming assignments in higher education often faces challenges in ensuring code originality, particularly when students apply cosmetic modifications such as renaming identifiers or altering formatting and comments. This study proposes a multi-indicator code similarity detection system based on Abstract Syntax Tree (AST) analysis to support more objective assessment of programming tasks. The proposed approach analyzes structural, logical, and stylistic aspects of Python programs, combining AST-based analysis with string similarity techniques for comment evaluation. A configurable weighting mechanism is introduced to allow flexible adjustment of similarity assessment according to different evaluation objectives. Experimental results on student programming assignments demonstrate that the system effectively distinguishes varying levels of code similarity and provides consistent similarity measurements. In addition, block-level analysis enables more fine-grained identification of similar code segments. The findings indicate that the proposed method is robust against cosmetic code modifications and can support more systematic and transparent programming assessment in educational contexts.
Copyrights © 2026