====== Машинное обучение в программной инженерии ====== [[apmdd:engseminar|English version]] Семинар посвящен применению интеллектуальных методов (machine learning) и технологий обработки массивов данных (big data) в информатике (computer science) и программной инженерии (software engineering) ===== Темы семинара ===== {apmdd:devops-ml-sm.png?w=300&tok=654eaf} - Синтез программ по примерам средствами машинного обучения - Автоматическое обнаружение проблем и анализ программного обеспечения - Обработка и автоматизация анализа требований к ПО - Автоматизация тестирования Темы семинара отражают современные проблемы в сфере применения машинного обучения в программной инженерии. ===== Альтернативный курс ===== В весеннем семестре 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