STEP22mar23EvgZuev1

6 подписчиков

12+
12+

3 просмотра

13 дней назад

ПожаловатьсяНарушение авторских прав

6 подписчиков

12+
12+

3 просмотра

13 дней назад

ПожаловатьсяНарушение авторских прав
12+
12+

3 просмотра

13 дней назад

Евгений Александрович Зуев (Университет Иннополис): Исходный код: скрытое знание и как его показать? (Выступление. Обсуждение - см. https://youtu.be/C_ZVmzDoYgs) Во многих современных исследованиях утверждается, что на изучение и понимание программы уходит около 70% рабочего времени программиста, и только 5% времени занимает непосредственное написание и редактирование кода. Кроме того, отмечается, что ключевой и наиболее затратный по времени процесс разработчика в ходе создания программы — это выстраивание мысленной модели кода. Современные программные системы характеризуются, помимо прочего, существенной и постоянно возрастающей сложностью – как в аспекте их физических размеров, так и в плане глубоких и различных по своей природе связей между их частями и компонентами. С другой стороны, языки программирования, используемые в разработке программных систем, также весьма сложны – и синтаксически, и особенно семантически. Более того, тексты программ зачастую не отражают в явном виде всех аспектов их функционирования, и чем выше уровень языка, тем больше в нем так называемой «скрытой семантики» (hidden semantics). Традиционно информация о программе представляется в виде документации, которая, как правило, представляет собой неформальное или полуформальное описание тех или иных особенностях, правилах ее использования и т.д. – то есть, содержит информацию о внешней стороне программы («взгляд пользователя»). С другой стороны, аспекты внутреннего устройства программы, как на уровне ее общей архитектуры, так и на уровне отдельных компонентов (функций, классов), как правило, никак не документируется. В то же время, именно внутреннее устройство программы, смысл (семантика) ее компонентов является критически важным – особенно для крупных долгоживущих программных комплексов, которые, как правило, эволюционируют и в процессе сопровождения подвергаются рефакторингу, добавлению новых функциональных возможностей, оптимизации и другим модификациям. Поэтому выявление как семантики структурных компонентов программы, архитектуры системы в целом и представление (визуализация) их в форме, удобной для анализа, – является критически важной и актуальной, особенно учитывая тот факт, что в настоящее время для многих современных ЯП не существует адекватных инструментов для подобного анализа и визуализации. Данное выступление посвящено проблеме глубокого анализа семантики программ, представленных в исходных текстах, и наглядного (удобного для восприятия) отображения знания о ее семантике. Предлагается ряд подходов и технологий, направленных на извлечение и визуализацию знаний о семантике программ, в том числе «скрытой семантики», а также общей архитектуре программных систем.

Название:

STEP22mar23EvgZuev1

Категория:

Разное