Бакалавриат
2020/2021
Научно-исследовательский семинар «Методы анализа данных в программной инженерии»
Статус:
Курс по выбору (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет экономики, менеджмента и бизнес-информатики
Когда читается:
3-й курс, 1-3 модуль
Формат изучения:
без онлайн-курса
Преподаватели:
Мицюк Алексей Александрович
Язык:
русский
Кредиты:
3
Контактные часы:
44
Программа дисциплины
Аннотация
В последние годы активно развиваются методы интеллектуального анализа данных, которые применяются в самых разных областях науки и техники. В рамках данного НИСа студенты 3 курса бакалавриата по направлению 09.03.04 «Программная инженерия» ознакомятся с современными успехами по применению методов анализа данных к различным артефактам, составляющим программный продукт, а также используемым в ходе проектирования, разработки и эксплуатации программных систем. Кроме того, будут изучены методы анализа отладочных и других событийных данных, производимых функционирующими программными системами.
Цель освоения дисциплины
- Сформировать у студентов представление о том, как и какие методы интеллектуального анализа данных применяются в современной практике программной инженерии, для решения каких задач программному инженеру стоит обратиться к области анализа данных.
Планируемые результаты обучения
- Знать области приложения методов анализа данных в современной программной инженерии
- Уметь определить, что для решения задачи разумно использовать тот или иной метод анализа данных
- Уметь сформулировать и формализовать задачу в виде, пригодном для применения методов анализа данных
- Иметь навыки работы с литературой и ведения самостоятельных исследований
- Иметь опыт и навыки публичного представления исследовательской работы
Содержание учебной дисциплины
- 1. Методы Data Mining в практике программной инженерии1.1. Автоматический анализ исходного кода 1.2. Интеллектуальный анализ репозиториев (Repository Mining) 1.3. Выявление заимствований и клонов в репозиториях 1.4. Методы анализа естественного языка для автоматизации управления требованиями 1.5. Автоматическое выявление кода «с душком» (Code Smell Detection)
- 2. Методы Process Mining в практике программной инженерии2.1. Анализ трассировок программ 2.2. Сбор журналов событий и мониторинг распределенных систем 2.3. Анализ журналов событий распределенных систем 2.4. Выявление компонентов программ, шаблонов и анти-шаблонов по трассировкам программ
- 3. Методы искусственного интеллекта и машинного обучения в практике программной инженерии3.1. Автоматизация рефакторинга исходного кода 3.2. Автоматическая генерация исходного кода 3.3. Поиск вероятных ошибок в исходном коде 3.4. Умные, адаптивные и самоконфигурирующиеся информационные системы
- 4. Визуализация структуры и поведения программного обеспечения
Элементы контроля
- Доклад на семинареРазбор публикации из предлагаемого списка, выступление с докладом по итогу разбора.
- Активность на занятияхУчастие в обсуждении, вопросы докладчику, мини-тесты, другие виды работы на занятиях
Промежуточная аттестация
- Промежуточная аттестация (3 модуль)0.4 * Активность на занятиях + 0.6 * Доклад на семинаре
Список литературы
Рекомендуемая основная литература
- David Lo, Siau-Cheng Khoo, Jiawei Han, & Chao Liu. (2011). Mining Software Specifications : Methodologies and Applications. CRC Press.
- Josep Carmona, Boudewijn van Dongen, Andreas Solti, & Matthias Weidlich. (2018). Conformance Checking : Relating Processes and Models (Vol. 1st ed. 2018). Springer.
- Process mining: data science in action. (2016). Springer. https://doi.org/10.1007/978-3-662-49851-4
- Tim Menzies, Laurie Williams, & Thomas Zimmermann. (2016). Perspectives on Data Science for Software Engineering. Morgan Kaufmann.
- Zimmermann, T., Menzies, T., & Bird, C. (2015). The Art and Science of Analyzing Software Data. Amsterdam: Morgan Kaufmann. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=593414
Рекомендуемая дополнительная литература
- Ley, C., Tibolt, M., & Fromme, D. (2020). Data-Centric Engineering in modern science from the perspective of a statistician, an engineer, and a software developer. https://doi.org/10.1017/dce.2020.2
- Mukherjee, S., & Blasband, D. (2016). Source Code Analytics With Roslyn and JavaScript Data Visualization. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1450659