AUTOMATED PROGRAM TEXT ANALYSIS USING REPRESENTATIONS BASED ON MARKOV CHAINS AND EXTREME LEARNING MACHINES
The digitalization of the economy leads to an increase in demand for software developers, and, as a result, to the massive nature of programming courses. The aim is to develop a module for analyzing solutions to automatically generated unique programming tasks in the Digital Teaching Assistant (DTA) system, which automates a massive Python programming course at RTU MIREA. To vectorize a program text, it is proposed to build an abstract syntax tree, and then convert the resulting tree into a Markov chain. To classify vector representations of program texts, it is proposed to use an extreme learning machine - a computationally efficient architecture of an artificial neural network. The labeling of the data set is carried out by the hierarchical clustering algorithm. The use of the developed module made it possible to automate the determination of methods for solving automatically generated problems in real time in programs sent to the DTA. The obtained information about the methods of solution can be used by programming instructors during the semester to identify gaps in the knowledge and skills of students. Statistics obtained from classifiers of vector representations of program texts are reported to students through the web interface of the DTA system.