НИР
Содержание
Карта дорог
Руководитель: Лесин
Ссылка на проект:
Команда:
- Иванов Антон
- Сорокин Артем
- Кононенко Василий
Отчёт:
- 6.03.2012 - Первая встреча.
- Задачи на неделю:
- Кононенко: подготовить результаты прошлого семестра для коллективного проекта.
- Сорокин, Иванов: разобраться с базовыми алгоритмами поиска кратчайших путей.
- 20.03.2012 - Третья встреча.
- Обсудили структуру проекта. Определили "первые шаги" реализации.
- Задачи на неделю:
- Кононенко: Презентация (reaches), организация проекта, загрузка OSM формата, reaches preprocessing.
- Сорокин: создать wiki, github, разобраться с визуализатором и написать алг. Дейкстры, презентация?
- Иванов: web интерфейс (client-side), работающий сервер обрабатывающий запросы поиска евклидова расстояния между 2мя точками
- ?- допишите на какую тему презентации плиз.
- 27.03.2012
- Была проведена презентация Артема Сорокина по алгоритмам на графах (? уточни плз. название алгоритмов)
- Задачи на неделю:
- Иванов: закончить предыдущее задание. (ServerSide договорились делать на python'e, клиент уже почти написан на javascript'e с использованием openLayers api)
MyFit
Руководитель: EMC
Ссылка на проект:
Команда:
- Опейкин Александр
- Певзнер Алина
- Башоров Залим
09.03.2012
Выполнено 2 тестовых задания на Java и на GWT.
Получены следующие задачи:
12.03.2012
Получены следующие задачи:
27.03.2012
Митинг в EMC -- обсудили текущие задачи и тестовые задания.
Закоммитили рабочие версии кода по задачам, ожидаем ревью.
(задачи: Башоров, Опейкин, Певзнер)
GPU
Руководитель: Рубен Артурович Гиргидов
Ссылка на проект:
Команда:
- Коровин Алексей
- Лазарев Сергей
- Кормишин Сергей
Отчёт:
- 1я встреча нам были выданы вводные задачи:
- Разобраться с CUDA, установить и настроить окружение. Написать простенький алгоритм. (Коровин А.)
- Вспомнить "всё" о регулярных выражениях: какие бывают, как пишутся (Лазарев С.)
- Найти обработчики регулярных выражений (Matcher'ы), разобраться в их строении и принципе работы. (Кормишин С.)
- 2я встреча:
- Обсудили наши предыдущие задания, расписали план выполнения проекта, цели и др.
- Выданы следующие задачи:
- Реализовать обработчик РВ на Cuda для одной и n строк (Коровин А.)
- Найти обработчики РВ на CPU на C++ и адаптировать его для n строк (Кормишин С.)
- Реализовать обработчик РВ нa cuBLAS (Лазарев С.)
- 3я встреча:
- Обсудили наши успехи, искали нужное представление автомата в виде матрицы для задачи реализации РВ на cuBLAS
- Решили какие паттерны РВ будут в бенчмарках
- По CUDA на неделю нужно было реализовать простейшую схему распараллеливания существующих реализаций регулярных выражений(Regexp9, Cuda paper code) и посмотреть на производительность.
- 4я встреча:
- Портированная библиотека работать не хочет и разобраться без отладчика - очень трудно. Попытались настроить удалённую отладку на CUDA. Всё настроилось, но софт (Nsight) очень сырой, происходят непонятные ошибки и они нигде не журналируются и не объясняются. (Коровин А.)
- 5я встреча:
- Реализован поиск с помощью регулярных выражений на основе матричных вычислений с использованием библиотеки cuBLAS. Пока сделан поиск в одной строке. Дальше надо распараллелить на несколько строк. (Лазарев С.)
- Портированная библиотека после длительной отладки начала матчить строку с регулярным выражением. Задача 1 выражение - 1 строка решена. Следующая задача задействовать все ядра видеокарты и научиться матчить N строк на одно регулярное выражение. (Коровин А.)
- Реализовн поиск с помощью re2 одной строки на одном ядре. Теперь нужно сделать для n строк на к ядрах.
Syrop
Руководитель: Смаль Александр Владимирович
Ссылка на проект: Syrop
Wiki проекта: Github
Команда:
- Кринкин Михаил
- Мартынов Семён
- Крашенинникова Ксения
- Великий Алексей
Отчёт:
- 27/feb/2011 - Первая встреча. Обсуждение цели проекта, способов реализации и внутри командного взаимодействия. Разделение задач. Создан репозиторий проекта на GitHub. Открытый вопрос - применение методологий разработки в проекте.
- 01/mar/2011 - Сode review.
- 05/mar/2011 - Введение договоренностей о code style, оформлении документации, спецификация на интерфейсы. Показ первого GUI, уточнение новых задач.
- 12/mar/2011 - Всё хорошо.
- 19/mar/2011 - Снова всё хорошо - работаем.
- 26/mar/2011 - Семен у нас большой шутник, см. список задач на трекере
Дублирующий код
Руководитель: Иваницкий
Ссылка на проект: http://code.google.com/p/aptu-practice-code-duplication/
Команда:
- Бандурин Дима (Project manager)
- Лепенькин Ярослав (Поиск дублирующего кода в C++)
- Фофанова Маша (Поиск дублирующего кода в Java)
Отчёт:
28.02.2012 - Вводная встреча
- Распределение ролей в команде
- Бандурин Дима (Project manager)
- Лепенькин Ярослав. Изучение специфики C++ для поиска дублирующего кода
- Фофанова Маша. Изучение специфики Java для поиск дублирующего кода.
- Уточнение функционала
- Организационные вопросы
06.03.2012 - Контрольная встреча
- Изучение существующих решений
- Michael Wise's Greedy String Tiling algorithm
- Преобразование Барроуза-Уиллера
- Алгоритм Рабина-Карпа
- Механизм использующийся в IntelliJ IDEA
15.03.2012
В рамках НИР необходимо ответить на три вопроса.
- Научная новизна
- Список существующих решений для нашей задачи.(Ярослав)
- Способы оценки существующих решений.(Маша)
- Библиотеки, для проведения испытания (исследуемая выборка) (Дмитрий)
- Рабочий прототип. Решено делать плагин на базе IntelliJ IDEA. Функциональность плагина будет выяснена дальше.
- Этапы разработки
Решено разбить разработку на три этапа.
- Определение требований к разрабатываемой программе.(3 недели)
- Создание прототипа (2 недели)
- Разработка плагина (4 недели)
- Основная функциональность (2 недели)
- Тестирование и доведение (2 неделя)
- Документирование и создание презентационных материалов (1 неделя параллельно со вторым пунктом.)
Итого 9 недель. Предположительный срок завершения проекта : 21 мая
21.03.2012
- Возможные метрики для сравнения алгоритмов поиска дубликатов
- Время работы, используемая память, CPU
- Число правильно найденных дубликатов
- Необходимо учитывать длину каждого дубликата, чтобы учитывать возможную вложенность. Длина дубликата определяется числом символов в нем.
- Число неправильно найденных дубликатов
- Метрики для алгоритмов замены дубликатов
- Объем кода, получающегося после замены найденных дубликатов на вызовы соответствующих методов
- Релевантность участка кода. Код считается иррелевантным, если его замена на предлагающийся код слишком трудоемка и не имеет смысла.
- Стоит также определить, на каких констукциях дубликатов алгоритмы работают лучше, а на каких хуже.
Конфигуратор контейнеров AndroidVM
Руководитель: Кринкин К.В.
Команда:
- Владислав Савельев
- Дмитрий Шеставин
- Сергей Казенюк (отчёты)
Отчёт:
13 марта. Встреча с разработчиками проекта. Поставлены задачи.
- Владислав: Послушал лекцию Кирилла Владимировича про QT. Подумал об интерфейсе конфигуратора. Написал очень черновой вариант, создающий и запускающий контейнеры. Начал смотреть видео лекций Кирилла Владимировича про QT и шаблон MVC, а также читать про QML.
27 марта.
- Владислав: Написал интерфейс с лейаутами, правильно создающий контейнеры. Для создания добавил диалоговое окно (с валидацией адреса и прочих штук).
10 апреля.
- Владислав: Переписал интерфейс с использованием «модели — представления — модели представления». Нарисовал иконок и спроектировал внешний вид приложения в перспективе для презентации Жени Баталова на предзащите.
- Добавил в программный интерфейс конфигуратора возможность для получения от устройства информации о списке контейнеров.
Поиск дублирующих сообщений об ошибках
Команда:
- Ждан Анна
- Краско Евгений
- Кудинкин Алексей
Отчет 03.03 - 11.03
- Настроено окружение: проект в MPS, проект в IDEA
- Описана модель данных на языке dnq
- Написан rest api для админки и для добавления в базу новых сообщений об ошибках
- Написан парсер сообщений об ошибках
- Написана первая версия алгоритма сравнения сообщений об ошибках
- Написаны базовые классы для запуска тестов (различные заглушки для методов сервлет-контейнера, создание контекста для бинов и тп)
- Написаны тесты на парсер и алгоритм сравнения
- Частично написаны тесты на rest api (jmeter)
Отчет 11.03 - 18.03
- Улучшена первая версия алгоритма сравнения сообщений об ошибках
- Реализован альтернативный алгоритм сравнения сообщений об ошибках.
- Написаны тесты на оба алгоритма
- Реализован парсер сообщений об ошибках для языка C#. Парсер рассчитан на формат, принятый в Решарпере
- Написаны тесты на парсер
- В язык для рестовых тестов добавлена возможность проверять хереды респонса
- Добавлен ui для администрирования приложение
- Начата реализация JobProcessor'a, обрабатывающего сообщения об ошибках на предмет поиска дубликатов.
Отчет 19.03 - 25.03
- Написан классификатор, разбивающий сообщения об ошибках на кластеры.
- Добавлены новые возможности web-интерфейса для администрирования приложения.
Отчет 25.03 - 7.04
- Написан JobProcessor, разбивающий сообщения об ошибках на кластеры.
- Написаны тесты на JobProcessor
- Начата реализация интеграции приложения с Ютрэком
- Осуществлен переход на более новую версию библиотеки jersey