НИР
Материал из SEWiki
Версия от 20:12, 25 марта 2012; Krasko (обсуждение | вклад)
Содержание
Карта дорог
Руководитель: Лесин
Ссылка на проект:
Команда:
- Иванов Антон
- Сорокин Артем
- Кононенко Василий
Отчёт:
- 6.03.2012 - Первая встреча.
- Задачи на неделю:
- Кононенко: подготовить результаты прошлого семестра для коллективного проекта.
- Сорокин, Иванов: разобраться с базовыми алгоритмами поиска кратчайших путей.
- 20.03.2012 - Третья встреча.
- Обсудили структуру проекта. Определили "первые шаги" реализации.
- Задачи на неделю:
- Кононенко: Презентация?, организация проекта, загрузка OSM формата, preprocessing reach points
- Сорокин: создать wiki, github, разобраться с визуализатором и написать алг. Дейкстры, презентация?
- Иванов: web интерфейс (client-side), работающий сервер обрабатывающий запросы поиска евклидова расстояния между 2мя точками
- ?- допишите на какую тему презентации плиз.
MyFit
Руководитель: EMC
Ссылка на проект:
Команда:
- Опейкин Александр
- Певзнер Алина
- Башоров Залим
09.03.2012
Выполнено 2 тестовых задания на Java и на GWT.
Получены следующие задачи:
= 12.03.2012
Получены следующие задачи:
GPU
Руководитель: Рубен Артурович Гиргидов
Ссылка на проект:
Команда:
- Коровин Алексей
- Лазарев Сергей
- Кормишин Сергей
Отчёт:
- 1я встреча нам были выданы вводные задачи:
- Разобраться с CUDA, установить и настроить окружение. Написать простенький алгоритм. (Коровин А.)
- Вспомнить "всё" о регулярных выражениях: какие бывают, как пишутся (Лазарев С.)
- Найти обработчики регулярных выражений (Matcher'ы), разобраться в их строении и принципе работы. (Кормишин С.)
- 2я встреча:
- Обсудили наши предыдущие задания, расписали план выполнения проекта, цели и др.
- Выданы следующие задачи:
- Реализовать обработчик РВ на Cuda для одной и n строк (Коровин А.)
- Найти обработчики РВ на CPU на C++ и адаптировать его для n строк (Кормишин С.)
- Реализовать обработчик РВ нa cuBLAS (Лазарев С.)
- 3z встреча:
- Обсудили наши успехи, искали нужное представление автомата в виде матрицы для задачи реализации РВ на cuBLAS
- Решили какие паттерны РВ будут в бенчмарках
- По CUDA на неделю нужно было реализовать простейшую схему распараллеливания существующих реализаций регулярных выражений(Regexp9, Cuda paper code) и посмотреть на производительность.
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 - Снова всё хорошо - работаем.
- 19/mar/2011 -
Дублирующий код
Руководитель: Иваницкий
Ссылка на проект:
Команда:
- Бандурин Дима (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
21.03.2012
- Возможные метрики для сравнения алгоритмов поиска дубликатов
- Время работы, используемая память, CPU
- Число правильно найденных дубликатов
- Необходимо учитывать длину каждого дубликата, чтобы учитывать возможную вложенность. Длина дубликата определяется числом символов в нем.
- Число неправильно найденных дубликатов
- Метрики для алгоритмов замены дубликатов
- Объем кода, получающегося после замены найденных дубликатов на вызовы соответствующих методов
- Релевантность участка кода. Код считается иррелевантным, если его замена на предлагающийся код слишком трудоемка и не имеет смысла.
- Стоит также определить, на каких констукциях дубликатов алгоритмы работают лучше, а на каких хуже.
Конфигуратор контейнеров AndroidVM
Руководитель: Кринкин К.В.
Команда:
- Владислав Савельев
- Дмитрий Шеставин
- Сергей Казенюк
Отчёт:
13 марта. Встреча с разработчиками проекта. Поставлены задачи.
- Владислав: Послушал лекцию Кирилла Владимировича про QT. Подумал об интерфейсе конфигуратора. Написал очень черновой вариант, создающий и запускающий контейнеры. Начал смотреть видео лекций Кирилла Владимировича про QT и шаблон MVC, а также читать про QML.
Поиск дублирующих сообщений об ошибках
Команда:
- Ждан Анна
- Краско Евгений
- Кудинкин Алексей
Отчет 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-интерфейса для администрирования приложения.