• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 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