Сборники трудов ИСП РАН


Подход к обнаружению ошибок несоответствия типов в коде на динамических языках программирования.

И.Е. Бронштейн.

Аннотация

Статья посвящена обнаружению дефектов в коде, написанном на динамических языках программирования. Производится обзор статических анализаторов программ на языках Python, Ruby и JavaScript. Показывается, что большинство существующих средств не в состоянии обнаруживать целый класс дефектов: ошибки несоответствия типов. Даётся определение таких ошибок, приводятся данные о том, что они весьма распространены, а также критичны по мнению разработчиков программ. Предлагается подход к выводу типов для динамических языков, а также к реализации обнаружителей дефектов на его основе. Вводится понятие трассы дефекта, описывается построение такой трассы.

Ключевые слова

статический анализ; обнаружение дефектов; динамическая типизация данных; Python; Ruby; JavaScript; несоответствие типов; трассы дефектовстатический анализ; обнаружение дефектов; динамическая типизация данных; Python; Ruby; JavaScript; несоответствие типов

Издание

Труды Института системного программирования РАН, том 25, 2013, стр. 67-84.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2013-25-5

Полный текст статьи в формате pdf Вернуться к содержанию тома