В данной работе описывается учебный проект по созданию детектора утечек памяти для интерпретируемого языка. Этот проект ориентирован на студента или группу студентов второго курса. Он разрабатывался в качестве альтернативной формы отчетности по практическим занятиям курса «программирование». В работе описывается постановка задачи, общая схема проекта, обсуждаются подзадачи и методы их решения. Рассматриваются все стадии проекта: разработка языка, построение интерпретатора, реализация детектора утечек памяти. Кроме того, в статье описывается опыт применения данного проекта в учебном процессе, полученный в осеннем семестре 2016 года. Код проекта доступен на сайте GitHub.
In this paper, we describe an educational project for creating a memory leak detector for an interpreted language. This project is intended for a student or a group of second-year students. It was developed as an alternative form of classroom assignment in an introductory programming course. The statement of the problem, and the general outline of the project are described in the paper; the subtasks and methods for their solution are also discussed. All stages of the project are considered: language development, interpreter construction, implementation of the memory leak detector. In addition, the experience – obtained in the fall semester of 2016 – of applying this project in the educational process is described in the article. The project code is available from GitHub.
Ключевые слова: обучение программированию, интерпретатор, поиск утечек памяти.
Keywords: introductory programming course, interpreter, memory leak detection.