title: Dynamic type inference in Ruby
metadata.name: dc.contributor.advisor
metadata.value: Булычев Дмитрий Юрьевич
metadata.lang: ru_RU
metadata.name: dc.contributor.author
metadata.value: Вьюгинов Николай Юрьевич
metadata.lang: ru_RU
metadata.name: dc.contributor.author
metadata.value: Viuginov Nickolai
metadata.lang: en_GB
metadata.name: dc.contributor.editor
metadata.value: Кириленко Яков Александрович
metadata.lang: ru_RU
metadata.name: dc.contributor.editor
metadata.value: Kirilenko Iakov Аleksаndrovich
metadata.lang: en_GB
metadata.name: dc.date.accessioned
metadata.value: 2018-07-25T20:18:11Z
metadata.lang: -
metadata.name: dc.date.available
metadata.value: 2018-07-25T20:18:11Z
metadata.lang: -
metadata.name: dc.date.issued
metadata.value: 2017
metadata.lang: -
metadata.name: dc.identifier.other
metadata.value: 034424
metadata.lang: en_GB
metadata.name: dc.identifier.uri
metadata.value: http://hdl.handle.net/11701/11358
metadata.lang: -
metadata.name: dc.description.abstract
metadata.value: Вьюгинов Николай Юрьевич  Динамическое выделение типов в Ruby  Старший преподаватель кафедры системного программирования Кириленко Яков Александрович  Направление математика и механика, кафедра системного программирования        Ruby - довольно популярный язык, он удобен и практичен. Обратной стороной такого удобства языка является сложность отладки и поиска ошибок в больших кодовых базах. Анализ кода на Ruby значительно усложняется засчёт некоторых возможностей языка. Даже в динамически типизированных языках программирования информация о типах переменных очень полезна, ведь она позволяет реализовать большее количество статических проверок.      В работе описывается новый подход к генерации типовых аннотаций. Предлагается отслеживать непосредственные вызовы метода во время исполнения и генерировать на основе входных и выходных типов контракты, описывающие сигнатуру метода.     Использованных источников: 21  Вьюгинов, Н. Ю. Динамическое выделение типов в Ruby: выпускная квалификационная работа: защищена 02.06.2017 / Вьюгинов Николай Юрьевич. – СПб., 2017. – 27 с. – Библиография: с. 26–27.
metadata.lang: ru_RU
metadata.name: dc.description.abstract
metadata.value: Viuginov Nickolay Yurievich  Dynamic type inference in Ruby   senior lecturer, dept. of software engineering Iakov Alexandrovich Kirilenko  Mathematics & mechanics, software engineering department         Ruby is a fairly popular language, it is convenient and practical. Syntax of Ruby language pays back when it comes to finding bugs in large codebases. Static analysis is hindered by specific capabilities of Ruby. Even in dynamically typed languages, type information is very useful, because of better type safety and more reliable checks. One may annotate the code with YARD (Ruby documentation tool) which also enables improved tooling such as code completion.       This paper reports a new approach to type annotations generation. We trace direct method calls while the program is running, evaluate types of input and output variables and use this information to derive implicit type annotations.     Sources cited: 21  Viuginov, N.Y. Dynamic type inference in Ruby: Graduation thesis: Defended 02.06.2017 / Viuginov Nickolay Yurievich. – St. Petersburg., 2017. – 27 pp. – Bibliography: pp. 26–27.
metadata.lang: en_GB
metadata.name: dc.language.iso
metadata.value: ru
metadata.lang: -
metadata.name: dc.subject
metadata.value: Ruby
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: Динамически типизированные языки
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: Виртуальная машина Ruby
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: Сигнатура метода
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: Выделение типов
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: Статический анализ кода
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: Ruby
metadata.lang: en_GB
metadata.name: dc.subject
metadata.value: Dynamically typed languages
metadata.lang: en_GB
metadata.name: dc.subject
metadata.value: Ruby VM
metadata.lang: en_GB
metadata.name: dc.subject
metadata.value: Method signature
metadata.lang: en_GB
metadata.name: dc.subject
metadata.value: Type inference
metadata.lang: en_GB
metadata.name: dc.subject
metadata.value: Static code analysis
metadata.lang: en_GB
metadata.name: dc.title
metadata.value: Dynamic type inference in Ruby
metadata.lang: en_GB
metadata.name: dc.title.alternative
metadata.value: Динамическое выделение типов в Ruby
metadata.lang: ru_RU
resources.filename: Viuginov444.pdf
resources.url: https://dspace.spbu.ru/bitstream/11701/11358/1/Viuginov444.pdf
resources.format: Adobe PDF
resources.description: Article
resources.size: 785,21 kB
resources.filename: reviewSV_Otzyv_nauchnogo_rukovoditelya_na_VKR_Vyuginova_N_YU_.docx
resources.url: https://dspace.spbu.ru/bitstream/11701/11358/2/reviewSV_Otzyv_nauchnogo_rukovoditelya_na_VKR_Vyuginova_N_YU_.docx
resources.format: Microsoft Word XML
resources.description: ReviewSV
resources.size: 7,15 kB
resources.filename: reviewSV_review.pdf
resources.url: https://dspace.spbu.ru/bitstream/11701/11358/4/reviewSV_review.pdf
resources.format: Adobe PDF
resources.description: ReviewRev
resources.size: 754,15 kB
resources.filename: reviewSV_st007252_Bulychev_Dmitrij_YUrevich_(reviewer)(Ru).txt
resources.url: https://dspace.spbu.ru/bitstream/11701/11358/5/reviewSV_st007252_Bulychev_Dmitrij_YUrevich_%28reviewer%29%28Ru%29.txt
resources.format: Text
resources.description: ReviewRev
resources.size: 3,91 kB
resources.filename: reviewSV_st007829_Kirilenko_YAkov_Aleksandrovich_(supervisor)(Ru).txt
resources.url: https://dspace.spbu.ru/bitstream/11701/11358/6/reviewSV_st007829_Kirilenko_YAkov_Aleksandrovich_%28supervisor%29%28Ru%29.txt
resources.format: Text
resources.description: ReviewSV
resources.size: 5,85 kB