An integrated development environment for the SecreC programming language

Reimo Rebane
The goal of the bachelor’s thesis is to design and develop an Integrated Development Environment (IDE) for a privacy-preserving framework called Sharemind. More precisely, the IDE will have to enable the developer to comfortably write and debug programs written in the languages designed for Sharemind which are the assembly language of the system and the SecreC language. Sharemind is a data processing system capable of performing computations on input data without compromising its privacy. The system is based on solid cryptographic foundations – secret sharing is used to preserve the privacy of the data during storage and secure multi-party computation allows the data to be securely processed. SecreC is a C-like programming language designed for developing privacy-preserving algorithms. Currently, the SecreC compiler generates assembly code that then can be run in the Sharemind virtual machine. It has been shown to be practical for a variety of data mining tasks. The aim of this thesis is to simplify the development of privacy-preserving software using the Sharemind framework. When Sharemind is easier to develop for, it may find more use in real-world applications and will lead us to information systems with significantly better privacy guarantees. The IDE will have all the basic functionality like project management, code highlighting and code-completion which have become standard features in modern code development environments. Debugging will be an essential part of the system and its functionality will be supported for the assembly language. The tool will be written in C++. The libraries that will be used are Qt for its wide range of functionality, Sharemind controller library which will be the central part for debugging and QScintilla (which is a Qt port for a component called Scintilla) for code editing.
Graduation Thesis language
Graduation Thesis type
Bachelor - Information Technology
Dan Bogdanov
Defence year