====== Машинное обучение в программной инженерии ====== [[apmdd:engseminar|English version]] Семинар посвящен применению интеллектуальных методов (machine learning) и технологий обработки массивов данных (big data) в информатике (computer science) и программной инженерии (software engineering) ===== Темы семинара ===== {{ :apmdd:devops-ml-sm.png?nolink&300|}} - Синтез программ по примерам средствами машинного обучения - Автоматическое обнаружение проблем и анализ программного обеспечения - Обработка и автоматизация анализа требований к ПО - Автоматизация тестирования Темы семинара отражают современные проблемы в сфере применения машинного обучения в программной инженерии. ===== Альтернативный курс ===== В весеннем семестре 2018 посещение семинара можно выбрать в качестве альтернативного курса студентам первого года магистратуры ФИВТ МФТИ, или факультативного курса по выбору. ===== Система оценивания ===== Для получения оценки по семинару необходимо: - Выбрать и изучить статьи по темам семинара - Подготовить систематический обзор по выбранной теме, или - Изучить и повторить ключевые результатов по теме - Выступить с докладам по результатам на семинаре ===== Требования к подготовке систематического обзора ===== Систематический обзор литературы в определенной области - это метод исследования предметной области с целью получения ответов на интересующие вопросы. Систематический обзор, при должном исполнении, может быть отнесен к методам исследований, которые допускают проверку и повторение результатов. Порядок выполнения систематического обзора приведен в таблице ниже. Результаты систематического обзора оформляются в виде набора документов - полный список источников (long list) - список отобранных источников (short list) - отчет с результатами ^№^Что делать^В чем результат^Где фиксируется результат^ |1.|Сформулиовать цели проведения обзора| Формулировка цели, перечень вопросов (Research Questions, напр. RQ1, RQ2..) | Отдельный раздел в отчете с результатами | |2.|Описать протокол поиска источников | Приведен перечень баз данных, библиографический и реферативных баз, сформулированы критерии поиска в них (поисковые запросы) | Отдельный раздел в отчете с результатами | |3.|Сформулировать критерии выбора источников | Требования, предъявляемые к источникам и их содержанию для включения в обзор (полезна ли информация для ответа на вопросы, качественная ли она и т.д.) | Отдельный раздел в отчете с результатами | |4.|Выполнить поиск источников согласно протоколу| Полный список найденных источников | Таблица с полным списком в отдельном документе | |5.|Отобрать источники из полного списка, при необходимости вернуться к п.4 | Список отобранных источников | Таблица с отобранными источниками в отдельном документе | |6.|По каждому вопросу исследования собрать информацию из отобранных источников | Ответ на вопрос с отсылками к источникам|Для каждого вопроса - отдельный подраздел| |7.|Подготовить заключение: удалось ли ответить на вопросы, сделать выводы | Выводы о достижении цели обзора, рекомедации по использованию результатов обзора | Отдельный раздел отчета с результатами | Литература: - 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. - См. также слайды. ===== Требования к подготовке анализа результатов по теме ===== Повторение опубликованных ранее результатов другими исследователями - важная процедура в научном исследовании, направленная на выявления неточностей, расхождений, неполноты в опубликованных результатах исследований и методах и достижения. Порядок повторения результатов по теме приведен в таблице ниже. Результаты фиксируются в следующих документах - отчет о повторении результатов - исходный код и данные Требования к статье для повторения - должен быть доступен исходный код для основного результата статьи - доступны данные, использованные в статье - результат отражает state-of-the-art ^#^Что делать^В чем результат^Где фиксируется результат^ |1.|Найти и согласовать статью, актуальную для темы|Выбрана статья для повторения результатов. |В электронной почте, в первом разделе отчета| |2.|Получить и сохранить код и данные, проверить возможность использования|Готовый к исполнению код, данные для проведения эксперимента|Исходный код и данные (выложены для доступа)| |3.|Повторить эксперимент по описаннию в статье|Выявлены отклонения и неточности в описании эксперимента, упущения и пропуски|Раздел в отчете о повторении результатов| |4.|Сравнить результаты с полученными в статье|Получены собственные количественные результаты эксперимента, указаны расхождения с результатами в статье|Раздел в отчете о повторении результатов| |5.|Сделать выводы о повторяемости результатов статьи|Выводы о повторяемости результатов статьи и возможности их использования|Раздел в отчете о повторении результатов| Литература - Geir Kjetil Sandve, Anton Nekrutenko, James Taylor, Eivind Hovig. Ten Simple Rules for Reproducible Computational Research - См. также сайт reproducibleresearch.net