Машинное обучение в программной инженерии

English version

Семинар посвящен применению интеллектуальных методов (machine learning) и технологий обработки массивов данных (big data) в информатике (computer science) и программной инженерии (software engineering)

  1. Синтез программ по примерам средствами машинного обучения
  2. Автоматическое обнаружение проблем и анализ программного обеспечения
  3. Обработка и автоматизация анализа требований к ПО
  4. Автоматизация тестирования

Темы семинара отражают современные проблемы в сфере применения машинного обучения в программной инженерии.

В весеннем семестре 2018 посещение семинара можно выбрать в качестве альтернативного курса студентам первого года магистратуры ФИВТ МФТИ, или факультативного курса по выбору.

Для получения оценки по семинару необходимо:

  1. Выбрать и изучить статьи по темам семинара
  2. Подготовить систематический обзор по выбранной теме, или
  3. Изучить и повторить ключевые результатов по теме
  4. Выступить с докладам по результатам на семинаре

Систематический обзор литературы в определенной области - это метод исследования предметной области с целью получения ответов на интересующие вопросы. Систематический обзор, при должном исполнении, может быть отнесен к методам исследований, которые допускают проверку и повторение результатов.

Порядок выполнения систематического обзора приведен в таблице ниже. Результаты систематического обзора оформляются в виде набора документов

  1. полный список источников (long list)
  2. список отобранных источников (short list)
  3. отчет с результатами
Что делатьВ чем результатГде фиксируется результат
1.Сформулиовать цели проведения обзора Формулировка цели, перечень вопросов (Research Questions, напр. RQ1, RQ2..) Отдельный раздел в отчете с результатами
2.Описать протокол поиска источников Приведен перечень баз данных, библиографический и реферативных баз, сформулированы критерии поиска в них (поисковые запросы) Отдельный раздел в отчете с результатами
3.Сформулировать критерии выбора источников Требования, предъявляемые к источникам и их содержанию для включения в обзор (полезна ли информация для ответа на вопросы, качественная ли она и т.д.) Отдельный раздел в отчете с результатами
4.Выполнить поиск источников согласно протоколу Полный список найденных источников Таблица с полным списком в отдельном документе
5.Отобрать источники из полного списка, при необходимости вернуться к п.4 Список отобранных источников Таблица с отобранными источниками в отдельном документе
6.По каждому вопросу исследования собрать информацию из отобранных источников Ответ на вопрос с отсылками к источникамДля каждого вопроса - отдельный подраздел
7.Подготовить заключение: удалось ли ответить на вопросы, сделать выводы Выводы о достижении цели обзора, рекомедации по использованию результатов обзора Отдельный раздел отчета с результатами

Литература:

  1. Kitchenham, B.A. and S. Charters (2007) Guidelines for performing systematic literature reviews in software engineering, Technical Report EBSE-2007-01, School of Computer Science and Mathematics, Keele University.
  2. См. также слайды.

Повторение опубликованных ранее результатов другими исследователями - важная процедура в научном исследовании, направленная на выявления неточностей, расхождений, неполноты в опубликованных результатах исследований и методах и достижения.

Порядок повторения результатов по теме приведен в таблице ниже. Результаты фиксируются в следующих документах

  1. отчет о повторении результатов
  2. исходный код и данные

Требования к статье для повторения

  1. должен быть доступен исходный код для основного результата статьи
  2. доступны данные, использованные в статье
  3. результат отражает state-of-the-art
#Что делатьВ чем результатГде фиксируется результат
1.Найти и согласовать статью, актуальную для темыВыбрана статья для повторения результатов. В электронной почте, в первом разделе отчета
2.Получить и сохранить код и данные, проверить возможность использованияГотовый к исполнению код, данные для проведения экспериментаИсходный код и данные (выложены для доступа)
3.Повторить эксперимент по описаннию в статьеВыявлены отклонения и неточности в описании эксперимента, упущения и пропускиРаздел в отчете о повторении результатов
4.Сравнить результаты с полученными в статьеПолучены собственные количественные результаты эксперимента, указаны расхождения с результатами в статьеРаздел в отчете о повторении результатов
5.Сделать выводы о повторяемости результатов статьиВыводы о повторяемости результатов статьи и возможности их использованияРаздел в отчете о повторении результатов

Литература

  1. Geir Kjetil Sandve, Anton Nekrutenko, James Taylor, Eivind Hovig. Ten Simple Rules for Reproducible Computational Research
  2. См. также сайт reproducibleresearch.net