Intellectual code analysis in automation grading

Grades for programming assignments continue to be difficult to assign despite the fact that students have a wide variety of strategies available to address challenges. The primary factor is the existence of several technological frameworks and a range of coding methodologies. The subject matter of t...

Full description

Saved in:
Bibliographic Details
Main Authors: Denys Seliutin, Elena Yashyna
Format: Article
Language:English
Published: National Aerospace University «Kharkiv Aviation Institute» 2024-11-01
Series:Радіоелектронні і комп'ютерні системи
Subjects:
Online Access:http://nti.khai.edu/ojs/index.php/reks/article/view/2650
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Grades for programming assignments continue to be difficult to assign despite the fact that students have a wide variety of strategies available to address challenges. The primary factor is the existence of several technological frameworks and a range of coding methodologies. The subject matter of this article is the process of intelligent evaluation of students’ knowledge based on code written by students during regular practical work. The goal is to develop an approach for intellectual code analysis that can be easily implemented and integrated into the most widespread grading systems. The tasks to be solved include: formalization of code representation for intellectual analysis by applications; analysis of the current state of research and development in the field of automated analysis and evaluation of software codes; introduction of a technique that offers substantial feedback through the integration of intelligent code analysis via code decomposition and providing grading systems an “understanding” of program log. The research subjects are methods of the programming code evaluation during distance learning. The methods used are: tree classification code analysis and graph traversing methods adopted for the tree linearization goal. The following results were obtained: 1. An examination of the current state of automated software code analysis and evaluation reveals that this issue is intricate due to the challenges involved in manually assessing programming projects. These challenges are further exacerbated by the intricate nature of the code, subjective judgment, and the need to adapt to various technical structures. Consequently, there is an urgent demand for automated assessment methods in educational settings. 2. The technique of representing the code structure as syntactic trees was employed to create an automated tool for analyzing software code. This facilitated the decomposition of the code into interrelated logical modules, enabling the analysis of the structure of these modules and the relationships between them. 3. The used methodologies and techniques were used for the analysis of Java code. The syntactic analysis enabled the detection of problematic and erroneous code blocks and the identification of fraudulent attempts (manipulating the program's output instead of performing the algorithm). Conclusions. Most current automatic student work evaluation systems rely on testing, which involves comparing the program's inputs and outputs. Unlike the other methods, the approach presented in this study examines the syntactic structure of the program. This enables precise identification of the position and type of mistakes. An astute examination of the gathered data will enable the formulation of precise suggestions for students to enhance their coding skills. The suggested instruments can be incorporated into the Intelligent Tutoring System designed for IT majors.
ISSN:1814-4225
2663-2012