TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...Iosif Itkin
Automated Testing of Multi-thread Data Structures Solutions Linerializability
Anton Evdokimov, Dmitry Tsitelov, Roman Elizarov, Vitaly Trifanov, Saint Petersburg State University of Information Technologies, Mechanics and Optics, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
TMPA-2015: Automated Testing of Multi-thread Data Structures Solutions Lineri...Iosif Itkin
Automated Testing of Multi-thread Data Structures Solutions Linerializability
Anton Evdokimov, Dmitry Tsitelov, Roman Elizarov, Vitaly Trifanov, Saint Petersburg State University of Information Technologies, Mechanics and Optics, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
Тестирование аварий. Андрей Губа. Highload++ 2015odnoklassniki.ru
В 2013 году случилась самая большая авария в истории Одноклассников: в течение трёх дней проект был целиком, а потом частично, неработоспособен. После того, как мы устранили последствия аварии, к нам пришел бизнес со следующим вопросом: какие проблемы видит технический отдел компании и какие варианты защиты может предложить. Сходу мы выделили три основных — взлом хакерами, DDoS-атаки и аварии. Взломы — не в плоскости конференции Highload, про DDoS-атаки — наоборот, рассказывают довольно часто. Поэтому в этом докладе мы поговорим именно про аварии.
Отказ диска или сервера мы давно не считаем аварией — у нас несколько тысяч серверов, и подобные сбои происходят по нескольку раз в день. Среди выделенных нами серьезных отказов — отказ канала связи до дата-центра, сбои электричества, перегрузка какой-то из подсистем, вызванная ростом какой-то активности (в т.ч. эксперименты), ошибка программиста/инженера и другие.
По каждому из перечисленных направлений мы проанализировали риски и провели ряд работ на портале, позволивший нашей системе успешно функционировать в условиях перечисленных выше проблем. Как и в программировании, мы решили, что тестирование — это отличный способ выявлять проблемы на ранних стадиях и ликвидировать их минимальными средствами. В презентации мы расскажем о том, как мы защищаемся от каждой из перечисленных выше угроз и сфокусируемся на техниках эмуляции аварийных ситуаций.
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...Ontico
Современные процессоры имеют на борту по нескольку вычислительных ядер, позволяющих запускать задачи на них параллельно. И, казалось бы, вот оно — счастье: бей большие задачи на куски, запускай эти куски параллельно на разных ядрах и радуйся.
Но не все так просто. Для того чтобы одновременный доступ к общим данным выполнялся корректно, современные системы используют разные примитивы синхронизации. В основе одних лежат блокировки (locks), в основе других — операции типа сравнение-с-обменом (compare-and-swap). Однако и у тех и у других есть свои слабые места. О них мы и поговорим.
Из доклада вы узнаете, чем блокирующие алгоритмы отличаются от неблокирующих, и какими достоинствами и недостатками обладает каждый из этих классов. Кроме того, будут показаны различные подводные камни тех и других решений: Deadlock, Livelock, Starvation, Mutable vs Immutable hype.
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровPositive Hack Days
1. Система мониторинга ресурсов различных отделов
2. Шаблоны и роли серверов, разграничение доступа и зон ответственности
3. ptzabbixtools - конфигурация мониторинга на целевых серверах
4. Пример встраивания системы мониторинга в процессы разработки/тестирования
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)SPB SQA Group
Доклад посвящен вопросам создания и использования собственной системы управления процессами сборки и тестирования ПО. Описываются ключевые моменты построения таких систем, в частности: вопросы интерфейсов, быстродействия, качества и интеграции в общую инфраструктуру. Затрагиваются концепции встраивания качества в код, сбора и использования метрик ПО, неотделимости сборки от тестирования, автоматизированного ведения базы знаний об ошибках и другие.
В стенах Azoft прошла лекция по практическому применению нейронных сетей.
На лекции рассказывалось о типах нейронных сетей, способах и особенностях их обучения и практическом применении. В конце доклада ребята дали советы для тех, кто только хочет начать развиваться в этой сфере: какие задачи решать, с чем экспериментировать, на какие смежные области обратить особенное внимание.
Видеозапись лекции вы можете посмотреть на YouTube: https://youtu.be/gwf18CGJM5c
Тестирование аварий. Андрей Губа. Highload++ 2015odnoklassniki.ru
В 2013 году случилась самая большая авария в истории Одноклассников: в течение трёх дней проект был целиком, а потом частично, неработоспособен. После того, как мы устранили последствия аварии, к нам пришел бизнес со следующим вопросом: какие проблемы видит технический отдел компании и какие варианты защиты может предложить. Сходу мы выделили три основных — взлом хакерами, DDoS-атаки и аварии. Взломы — не в плоскости конференции Highload, про DDoS-атаки — наоборот, рассказывают довольно часто. Поэтому в этом докладе мы поговорим именно про аварии.
Отказ диска или сервера мы давно не считаем аварией — у нас несколько тысяч серверов, и подобные сбои происходят по нескольку раз в день. Среди выделенных нами серьезных отказов — отказ канала связи до дата-центра, сбои электричества, перегрузка какой-то из подсистем, вызванная ростом какой-то активности (в т.ч. эксперименты), ошибка программиста/инженера и другие.
По каждому из перечисленных направлений мы проанализировали риски и провели ряд работ на портале, позволивший нашей системе успешно функционировать в условиях перечисленных выше проблем. Как и в программировании, мы решили, что тестирование — это отличный способ выявлять проблемы на ранних стадиях и ликвидировать их минимальными средствами. В презентации мы расскажем о том, как мы защищаемся от каждой из перечисленных выше угроз и сфокусируемся на техниках эмуляции аварийных ситуаций.
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...Ontico
Современные процессоры имеют на борту по нескольку вычислительных ядер, позволяющих запускать задачи на них параллельно. И, казалось бы, вот оно — счастье: бей большие задачи на куски, запускай эти куски параллельно на разных ядрах и радуйся.
Но не все так просто. Для того чтобы одновременный доступ к общим данным выполнялся корректно, современные системы используют разные примитивы синхронизации. В основе одних лежат блокировки (locks), в основе других — операции типа сравнение-с-обменом (compare-and-swap). Однако и у тех и у других есть свои слабые места. О них мы и поговорим.
Из доклада вы узнаете, чем блокирующие алгоритмы отличаются от неблокирующих, и какими достоинствами и недостатками обладает каждый из этих классов. Кроме того, будут показаны различные подводные камни тех и других решений: Deadlock, Livelock, Starvation, Mutable vs Immutable hype.
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровPositive Hack Days
1. Система мониторинга ресурсов различных отделов
2. Шаблоны и роли серверов, разграничение доступа и зон ответственности
3. ptzabbixtools - конфигурация мониторинга на целевых серверах
4. Пример встраивания системы мониторинга в процессы разработки/тестирования
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)SPB SQA Group
Доклад посвящен вопросам создания и использования собственной системы управления процессами сборки и тестирования ПО. Описываются ключевые моменты построения таких систем, в частности: вопросы интерфейсов, быстродействия, качества и интеграции в общую инфраструктуру. Затрагиваются концепции встраивания качества в код, сбора и использования метрик ПО, неотделимости сборки от тестирования, автоматизированного ведения базы знаний об ошибках и другие.
В стенах Azoft прошла лекция по практическому применению нейронных сетей.
На лекции рассказывалось о типах нейронных сетей, способах и особенностях их обучения и практическом применении. В конце доклада ребята дали советы для тех, кто только хочет начать развиваться в этой сфере: какие задачи решать, с чем экспериментировать, на какие смежные области обратить особенное внимание.
Видеозапись лекции вы можете посмотреть на YouTube: https://youtu.be/gwf18CGJM5c
Мы практически не замечаем этого, но сферы применения искусственного интеллекта растет с каждым годом. И это не только самоуправляемые автомобили или приложения по стилизации фотографий под Ван Гога. Нейронные сети дают конкурентное преимущество во многих сферах.
Когда же нужны нейронные сети?
https://pureso.com/
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
Александр Петренко, ИСП РАН
Профессор, доктор физико-математических наук, заведующий отделом технологий программирования Института системного программирования (ИСП РАН), профессор ВМК МГУ. Основные работы в областях: формализация требований, генерация тестов на основе формализованных требований и формальных моделей (model based testing – MBT). Приложения: тестирование операционных систем и распределенных систем, тестирование компиляторов, верификация дизайна микропроцессоров, формализация стандартов на API операционных систем и телекоммуникационных протоколов. Сопредседатель оргкомитетов International MBT workshop (http://www.mbrworkshop.org/), Spring Young Researcher Colloquium on Software Engineering – SYRCoSE (http://syrocose.ispras.ru), городского семинара по технологиям разработки и анализа программ ТРАП/SDAT (http://sdat.ispras.ru/).
Тема доклада
Модели в профессиональной инженерии и тестировании программ.
Тезисы
Model Based Software Engineering (MBSE) является расширением подхода к разработке программ на основе моделей. В MBSE в отличие, например, от MDA (Model Driver Architecture) существенное внимание уделяется не только задачам собственно проектирования и разработки кода, но и задачам других фаз жизненного цикла – анализу требований, верификации и валидации, управлению требованиями на всех фазах жизненного цикла. Model Based Testing (MBT) хронологически возник гораздо раньше, чем MBSE и MDA, однако его место в разработке программ в полной мере раскрылось вместе с развитием MBSE. По этой причине MBT и MBSE следует рассматривать в тесной связке. В докладе будут рассмотрены концепции MBSE-MDA-MBT, основные источники и виды моделей, которые используются в этих подходах, методы генерации тестов на основе моделей, известные инструменты для
Нейроморфный чип “Алтай” ориентированный на использование в РТК (ПСиЗУ 2016)motivnt
Презентация к докладу на Одиннадцатой Всероссийской научно-практической конференции "Перспективные системы и задачи управления" Россия, г. Евпатория, Республика Крым с 4 по 8 апреля 2016 г.
Основы машинного обучения, базовые понятия (например переобучение и способы его предотвращения), различные архитектуры сетей, и, в частности, сверточные сети. Так же рассмотрены методы оптимизации вычислений в подобных архитектурах: quantization, binary-net и другие.
Классификация изображений с помощью нейронных сетей. Сжатие и ускорение обуче...Yandex
Свёрточные нейронные сети позволяют получать потрясающие результаты во многих задачах компьютерного зрения. В этом докладе я расскажу о нашем опыте обучения и применения свёрточных нейронных сетей. Отдельно будет затронут актуальный вопрос сжатия и ускорения нейросетевых моделей.
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
Тестирование Нейронных сетей
1. Software quality assurance days
21 Международная конференция
по вопросам качества ПО
sqadays.com
Москва. 26–27 мая 2017
Михаил Чумаков
TechOps. Москва, Россия.
Тестирование нейронных сетей
10. Тестирование нейронных сетей
Применение нейронных сетей:
● социальные сети
● рекомендательные
сервисы - показывать
то что купит
пользователь
● работа с
изображением,
текстом, звуком.
14. Тестирование нейронных сетей
Виды машинного обучения
● Обучение деревьев принятия решений
● Обучение правилам ассоциации
● Индуктивное логическое программирование
● Метод опорных векторов
● Кластерный анализ
● Байесовская сеть
● Обучение с подкреплением
● Обучение представлению (функциональное обучение)
● Обучение сходству и метрикам
● Генетический алгоритм
● Обучение на скудном словаре
● Основанное на правилах машинное обучение
● Системы обучающихся классификаторов
● Нейронные сети
● Глубинное обучение
24. Тестирование нейронных сетей
Обучение НС. Виды обучений
● Обучение с учителем
● Обучение без учителя
● Обучение с подкреплением
● Активное обучение
● Обучение с частичным привлечением учителя
● Трансдуктивное обучение (англ. transduction
(machine learning))
● Многозадачное обучение (multi-task learning)
● Многовариантное обучение (multiple-instance
learning)
36. Поиск с помощью рисунка
1. Работает только с
вектором
1. Поиск по мере рисования
наброска
2. Это позволяет не
переводить идею в
словоформы
3. Это позволяет искать
иконку по её очертаниям
4. Работа с вектором - очень
экономит “железо”
http://ai.icons8.com/
37. Ещё один сервис - CAPTCHA
Идея простая:
Пользователь не робот, если
смог нарисовать
предложенную иконку.
Да, мы изобретаем очередной велосипед
Да, скорее всего, это не составит труда
хакнуть
Мы надеемся хипстерам это понравится
http://captcha.icons8.com/
40. Тестирование нейронных сетей
Как мы тестировали
● Собрали данные - 50000
● Сделали выборки - 4 штуки
● Обучали - 20-100 на одну картинку, 20 картинок на одну
сеть
● Тестировали на других выборках - микс из выборок
42. Тестирование нейронных сетей
Проблемы машинного обучения
● Необходимость больших объёмов данных (обучающие выборки)
● Пропуски в данных (часть переменных пропущена)
● Ошибки в данных
● Прогнозирование необходимых переменных
● Экспериментальность в подборе количество нейронов в слое, самих слоёв.
● Проблема переобучения
● Большая вычислительная мощность
45. Тестирование нейронных сетей
Переобучение
Переобучение — явление, когда построенная модель хорошо объясняет примеры из
обучающей выборки, но относительно плохо работает на примерах, не участвовавших в
обучении (на примерах из тестовой выборки).
49. Тестирование нейронных сетей
Применение нейронных сетей в тестировании
● Инструменты для обработки данных в
файлах
● Фреймворки для тестирования
визуальной части
● Возможно, помощь в выборе тестовых
данных
● Существуют исследования в применении
нейронных сетей в тестировании ПО
51. Тестирование нейронных сетей
Что было в докладе?
1. Где применяются сети?
2.1. Машинное обучение - подходы (НС,
ГО)
2.2. Нейронные сети:
2.2.1. Обучение. Типы обучений
2.2.2. Типы нейронных сетей
2.3. Глубокое обучение
3. Применения
3.1. как я это тестировал
4. Проблемы нейронных сетей
53. Тестирование нейронных сетей
За кадром● История ML
● Обучение с подкреплением (средний вариант)
● Этическая сторона вопроса
● Квантовое машинное обучение
● Data Mining
● Нейрокомпьютеры
● Transfer learning (нейропластичность)
● Классические методы машинного обучения
54. Как мы параметризуем вектор
Определяем точки
пересечения
Сразу решается проблема
деформаций
1
Рассчитываем каждую точку
2
Сразу скалируем длину до интервала
(0,1)
56. Как мы учили ИИ
50.000
пользовательских
скриблов
Editor's Notes
Запутано про скрытые состояние / параметры / входы
Запутано про скрытые состояние / параметры / входы
Добавить логотипы
Слишком много пунктов - убрать со слайдов то о чём не говоришь
Применение - разбить по разделам (фан, реальность)
Выделить пункты про которые говоришь
Слишком много пунктов - убрать со слайдов то о чём не говоришь
Применение - разбить по разделам (фан, реальность)
Выделить пункты про которые говоришь
Слишком много пунктов - убрать со слайдов то о чём не говоришь
Применение - разбить по разделам (фан, реальность)
Выделить пункты про которые говоришь
оставить три
оставить три
картинка на весь слайд или 50 процентов
Запутано про скрытые состояние / параметры / входы
Запутано про скрытые состояние / параметры / входы
Запутано про скрытые состояние / параметры / входы
Запутано про скрытые состояние / параметры / входы
Один заголовок, нижний текст сделать заметным
Проверить про линейный процессор
3 пункта и многие другие
3 пункта и многие другие
Убрать НС = сеть
сделать 3 штуки
Более понятная картинка, объяснить своими словами
Более понятная картинка, объяснить своими словами
Связать повествование со слайдами
Убрать if > 1
Убрать НС = сеть
сделать 3 штуки
Замыленная картинка, много текста, выровнять
Взять хорошие картинки с сайтов продуктов, по одному
Взять хорошие картинки с сайтов продуктов, по одному
Взять хорошие картинки с сайтов продуктов, по одному
Взять хорошие картинки с сайтов продуктов, по одному
Убрать пункты, сделать на весь слайд
Разделать на два слайда (сначала картинка, потом текст)