title: ÐÐ½Ð°Ð»Ð¸Ð· Ð¸Ð½Ð¸ÑÐ¸Ð°Ð»Ð¸Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð½Ð¾ÑÑÐ¸ Ð² ÑÐ·ÑÐºÐµ Kotlin
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Analysis of initialization in the Kotlin language
Creators: name: ÐÐ¸Ð½Ð¼ÑÑÐ°Ð¼ÐµÑÐ¾Ð², ÐÐ°ÑÐ°Ñ
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2022
Subjects: Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð°Ñ Ð¸Ð½Ð¸ÑÐ¸Ð°Ð»Ð¸Ð·Ð°ÑÐ¸Ñ
Kotlin
ÑÐ¸ÑÑÐµÐ¼Ð° ÑÐ¸Ð¿Ð¾Ð² Ð¸ ÑÑÑÐµÐºÑÐ¾Ð²
safe initialization
type-and-effect system

description: Ð¢ÐµÐ¼Ð° Ð²ÑÐ¿ÑÑÐºÐ½Ð¾Ð¹ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÑ: Â«ÐÐ½Ð°Ð»Ð¸Ð· Ð¸Ð½Ð¸ÑÐ¸Ð°Ð»Ð¸Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð½Ð¾ÑÑÐ¸ Ð² ÑÐ·ÑÐºÐµ KotlinÂ».ÐÐ°Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¿Ð¾ÑÐ²ÑÑÐµÐ½Ð° ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð´Ð»Ñ Ð½Ð°ÑÐ¾Ð¶Ð´ÐµÐ½Ð¸ÑÐ¾ÑÐ¸Ð±Ð¾Ðº Ð¸Ð½Ð¸ÑÐ¸Ð°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ Ð² ÑÐ·ÑÐºÐµ Kotlin. Ð ÑÐ¾Ð´Ðµ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÑ ÑÐµÑÐ°Ð»Ð¸ÑÑ ÑÐ»ÐµÐ´ÑÑÑÐ¸Ðµ Ð·Ð°Ð´Ð°ÑÐ¸:â¢ÐÐ½Ð°Ð»Ð¸Ð· ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ñ ÑÐµÑÐµÐ½Ð¸Ð¹ Ð¿Ð¾ Ð¿Ð¾Ð¸ÑÐºÑ Ð¾ÑÐ¸Ð±Ð¾Ðº Ð¸Ð½Ð¸ÑÐ¸Ð°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ Ð² ÑÐ·ÑÐºÐ°Ñ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ.â¢Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð´Ð»Ñ Ð½Ð°ÑÐ¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð½ÐµÐ±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾Ð¹ Ð¸Ð½Ð¸ÑÐ¸Ð°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ Ð² ÑÐ·ÑÐºÐµ Kotlin.â¢Ð¡Ð¾Ð·Ð´Ð°Ð½Ð¸Ðµ Ð¿ÑÐ¾ÑÐ¾ÑÐ¸Ð¿Ð°, ÑÐµÐ°Ð»Ð¸Ð·ÑÑÑÐµÐ³Ð¾ Ð´Ð°Ð½Ð½ÑÐ¹ Ð°Ð½Ð°Ð»Ð¸Ð·.â¢Ð¢ÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ Ð¿ÑÐ¾ÑÐ¾ÑÐ¸Ð¿Ð°.Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½ÑÐ¹ Ð¿Ð¾Ð´ÑÐ¾Ð´ Ð¾ÑÐ½Ð¾Ð²Ð°Ð½ Ð½Ð° ÑÐ¸ÑÑÐµÐ¼Ðµ ÑÐ¸Ð¿Ð¾Ð² Ð¸ ÑÑÑÐµÐºÑÐ¾Ð². ÐÐ½ÑÐ¾Ð±Ð¸ÑÐ°ÐµÑ Ð¸Ð½ÑÐ¾ÑÐ¼Ð°ÑÐ¸Ñ Ð¾Ð± Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ð¸ Ð¿Ð¾Ð»ÐµÐ¹ Ð¸ Ð¼ÐµÑÐ¾Ð´Ð¾Ð², ÑÑÐ¾Ð±Ñ Ð½Ð°Ð¹ÑÐ¸ Ð´Ð¾ÑÑÑÐ¿ Ðº ÐµÑÐµ Ð½Ðµ Ð¸Ð½Ð¸ÑÐ¸Ð°Ð»Ð¸Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð½ÑÐ¼ Ð¿Ð¾Ð»ÑÐ¼.Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÑ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½ Ð¿ÑÐ¾ÑÐ¾ÑÐ¸Ð¿ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð¸Ð½Ð¸ÑÐ¸Ð°Ð»Ð¸Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð½Ð¾ÑÑÐ¸ Ð² ÑÐ·ÑÐºÐµ Kotlin, ÐºÐ¾ÑÐ¾ÑÑÐ¹ ÑÐ¿Ð¾ÑÐ¾Ð±ÐµÐ½ Ð½Ð°ÑÐ¾Ð´Ð¸ÑÑ ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÐµ Ð¾ÑÐ¸Ð±ÐºÐ¸ Ð¸Ð½Ð¸ÑÐ¸Ð°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸. ÐÐ¾ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐ°Ð¼ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑÐ¾ÑÐ¾ÑÐ¸Ð¿Ð°Ð¿Ð¾Ð´ÑÐ¾Ð´, Ð¿ÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð½ÑÐ¹ Ð² ÑÐ°Ð¼ÐºÐ°Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÑ, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½ Ð´Ð»Ñ Ð¿Ð¾Ð¸ÑÐºÐ° Ð¾ÑÐ¸Ð±Ð¾Ðº Ð¸Ð½Ð¸ÑÐ¸Ð°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ Ð² ÑÐ·ÑÐºÐµ Kotlin. ÐÑÐ¸ ÑÑÐ¾Ð¼Ð¾ÑÑÐ°ÐµÑÑÑ Ð¾ÑÐºÑÑÑÑÐ¼ Ð²Ð¾Ð¿ÑÐ¾Ñ Ð¿ÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸ÑÐµÐ»ÑÐ½Ð¾ÑÑÐ¸ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° Ð¸ Ð±Ð¾Ð»ÐµÐµ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÐ¸ ÑÐ»Ð¾Ð¶Ð½ÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÐµÐ¹ ÑÐ·ÑÐºÐ° Kotlin.Â Â 
description: The topic of the thesis work: Â«Safe initialization analysis for theKotlin languageÂ».Thisworkisdevotedtothecreationofanalysisforfindinginitialization errors in the Kotlin language. In this work the followingtasks were solved:â¢Analysis of existing solutions for finding initialization errors inprogramming languages.â¢Design of analysis for finding initialization errors in Kotlin.â¢Creation of a prototype which implements this analysis.â¢Testing and evaluation of the prototype.The developed approach is based on a type-and-effect system. Itcollects information about the use of fields and methods to find accessto fields that have not yet been initialized.As the result of this work, a prototype of safe initialization analysishas been implemented for Kotlin, which is able to find various initializationerrors.Basedontheresultsoftestingtheprototype,theapproachproposed in this work can be used to find initialization errors in Kotlin.At the same time, the question of its performance remains open.Â Â