• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Support for Type-Safe Data Serialization Protocol in Python

Student: Krasnov Evgeniy

Supervisor: Pavel Sokolov

Faculty: Faculty of Computer Science

Educational Programme: Applied Mathematics and Information Science (Bachelor)

Final Grade: 7

Year of Graduation: 2024

DependoBuf is a new protocol for serializing complex-structured data that supports dependent types. This year several students worked on the protocol, each with their own independent task. The task of this particular project was to implement DependoBuf support in Python. For this purpose, a code generation module was created that traverses an abstract syntax tree. The structure of the generated code was worked out in detail in order to better represent constructs from the protocol syntax. The possibility of code generation in such a popular language as Python should provide the protocol with a large number of potential applications. The project is written in 20th standard C++, as this is the language of the entire DependoBuf project. Clang++ 16 was used as the project compiler and CMake was used to automate the build.

Full text (added May 20, 2024)

Student Theses at HSE must be completed in accordance with the University Rules and regulations specified by each educational programme.

Summaries of all theses must be published and made freely available on the HSE website.

The full text of a thesis can be published in open access on the HSE website only if the authoring student (copyright holder) agrees, or, if the thesis was written by a team of students, if all the co-authors (copyright holders) agree. After a thesis is published on the HSE website, it obtains the status of an online publication.

Student theses are objects of copyright and their use is subject to limitations in accordance with the Russian Federation’s law on intellectual property.

In the event that a thesis is quoted or otherwise used, reference to the author’s name and the source of quotation is required.

Search all student theses