SlideShare a Scribd company logo
1 of 10
Download to read offline
А почему драйверы?
• Основной источник проблем в ядре ОС
• Ограниченное использование сложных
  структур данных
• Практически нет арифметики с
  плавающей запятой
• Немного рекурсивных функций
• Небольшой размер драйверов

                                        1
Linux Kernel
Linux Device Driver




                      3
Linux Device Driver


                  1) нужен main




                                  4
Генерация псевдо-main
int main(int argc,char* argv[])
{
  init_module()
  for(;;) {
    switch(*) {
      case 0: driver_probe(*,*,*);break;
      case 1: driver_open(*,*);break;
      ...
    }
  }
  exit_module();
}
                                           5
Linux Device Driver


                  1) нужен main




                                  6
Linux Device Driver


                  1) нужен main



                  2) верифицировать – значит,
                  определить, выполнены
                  ли правила корректного
                  поведения функций;
                  где взять правила?


                                          7
Текущие результаты
• Выявлено 80 правил для проверки

• Найдено 25 ошибок в драйверах ядра




                                       8
Обнаруженные ошибки
         http://linuxtesting.org/results/ldv
     ●   25 ошибок, 16 принято и исправлено




                                               9
Example of a report (L0009)




                              10

More Related Content

What's hot

TMPA-2013 Tsytelov Trifanov Devexperts
TMPA-2013 Tsytelov Trifanov DevexpertsTMPA-2013 Tsytelov Trifanov Devexperts
TMPA-2013 Tsytelov Trifanov DevexpertsIosif Itkin
 
Использование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияИспользование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияSQALab
 
Командная строка Unix
Командная строка UnixКомандная строка Unix
Командная строка UnixYandex
 
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...Iosif Itkin
 
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...Ontico
 
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"Alexander Akbashev
 
Внедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной ШинеВнедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной ШинеSQALab
 
Gnevshev мониторинг
Gnevshev   мониторингGnevshev   мониторинг
Gnevshev мониторингkuchinskaya
 
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотестыСпецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты7bits
 
CodeFest 2014. Макаров Н. — Selenium Grid. OK Version
CodeFest 2014. Макаров Н. — Selenium Grid. OK VersionCodeFest 2014. Макаров Н. — Selenium Grid. OK Version
CodeFest 2014. Макаров Н. — Selenium Grid. OK VersionCodeFest
 
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...
Windbg: когда у нас не воспроизводится. Александр Головач ➠  CoreHard Autumn ...Windbg: когда у нас не воспроизводится. Александр Головач ➠  CoreHard Autumn ...
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...corehard_by
 
Нагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load RunnerНагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load RunnerSQALab
 
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестов
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестовЮлия Ковалёва. Fscheck — альтернативный путь для unit тестов
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестовMskDotNet Community
 
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаАндрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаYandex
 
Нагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховНагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховИлья Кожухов
 
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкойВнедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкойSQALab
 
Некриптографическое исследование носителей православной криптографии
Некриптографическое исследование носителей  православной криптографииНекриптографическое исследование носителей  православной криптографии
Некриптографическое исследование носителей православной криптографииSergey Soldatov
 
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)Ontico
 
Проверка на прочность или нагрузочное тестирование с Jmeter
Проверка на прочность или нагрузочное тестирование с JmeterПроверка на прочность или нагрузочное тестирование с Jmeter
Проверка на прочность или нагрузочное тестирование с JmeterAleksey Derkach
 
Практика Lock-free. RealTime-сервер
Практика Lock-free. RealTime-серверПрактика Lock-free. RealTime-сервер
Практика Lock-free. RealTime-серверPlatonov Sergey
 

What's hot (20)

TMPA-2013 Tsytelov Trifanov Devexperts
TMPA-2013 Tsytelov Trifanov DevexpertsTMPA-2013 Tsytelov Trifanov Devexperts
TMPA-2013 Tsytelov Trifanov Devexperts
 
Использование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияИспользование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестирования
 
Командная строка Unix
Командная строка UnixКомандная строка Unix
Командная строка Unix
 
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
TMPA-2015: Standards and Standartization in Program Engineering. Why Would Yo...
 
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...
 
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
КРИ-2013. "Нагрузочное тестирование или Боты - санитары сервера"
 
Внедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной ШинеВнедрение автоматизации тестирования на Сервисной Шине
Внедрение автоматизации тестирования на Сервисной Шине
 
Gnevshev мониторинг
Gnevshev   мониторингGnevshev   мониторинг
Gnevshev мониторинг
 
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотестыСпецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
 
CodeFest 2014. Макаров Н. — Selenium Grid. OK Version
CodeFest 2014. Макаров Н. — Selenium Grid. OK VersionCodeFest 2014. Макаров Н. — Selenium Grid. OK Version
CodeFest 2014. Макаров Н. — Selenium Grid. OK Version
 
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...
Windbg: когда у нас не воспроизводится. Александр Головач ➠  CoreHard Autumn ...Windbg: когда у нас не воспроизводится. Александр Головач ➠  CoreHard Autumn ...
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...
 
Нагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load RunnerНагрузочное тестирование web-приложений с помощью Load Runner
Нагрузочное тестирование web-приложений с помощью Load Runner
 
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестов
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестовЮлия Ковалёва. Fscheck — альтернативный путь для unit тестов
Юлия Ковалёва. Fscheck — альтернативный путь для unit тестов
 
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаАндрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
 
Нагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховНагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория Кожухов
 
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкойВнедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
Внедрение автоматизации тестирования в highload проекте с непрерывной выкладкой
 
Некриптографическое исследование носителей православной криптографии
Некриптографическое исследование носителей  православной криптографииНекриптографическое исследование носителей  православной криптографии
Некриптографическое исследование носителей православной криптографии
 
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
Bosun современный мониторинг / Дима Медведев (OneTwoTrip)
 
Проверка на прочность или нагрузочное тестирование с Jmeter
Проверка на прочность или нагрузочное тестирование с JmeterПроверка на прочность или нагрузочное тестирование с Jmeter
Проверка на прочность или нагрузочное тестирование с Jmeter
 
Практика Lock-free. RealTime-сервер
Практика Lock-free. RealTime-серверПрактика Lock-free. RealTime-сервер
Практика Lock-free. RealTime-сервер
 

Viewers also liked

Viii Simposium De Educacion Catedra
Viii Simposium De Educacion CatedraViii Simposium De Educacion Catedra
Viii Simposium De Educacion Catedradaviduaslp
 
Aasld boston nov 2010 4
Aasld boston nov 2010 4Aasld boston nov 2010 4
Aasld boston nov 2010 4cpbv13
 
Igreja celula bezerril
Igreja celula bezerrilIgreja celula bezerril
Igreja celula bezerrilTrinit Solon
 

Viewers also liked (7)

Risultati questionario valutazione corso
Risultati questionario valutazione corsoRisultati questionario valutazione corso
Risultati questionario valutazione corso
 
Cgp predstavitev
Cgp predstavitevCgp predstavitev
Cgp predstavitev
 
Viii Simposium De Educacion Catedra
Viii Simposium De Educacion CatedraViii Simposium De Educacion Catedra
Viii Simposium De Educacion Catedra
 
Aasld boston nov 2010 4
Aasld boston nov 2010 4Aasld boston nov 2010 4
Aasld boston nov 2010 4
 
The Launch Part 3 Slides
The Launch Part 3 SlidesThe Launch Part 3 Slides
The Launch Part 3 Slides
 
Ashish final
Ashish finalAshish final
Ashish final
 
Igreja celula bezerril
Igreja celula bezerrilIgreja celula bezerril
Igreja celula bezerril
 

Similar to Ldv slides

Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting   Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting Yandex
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаIgor Lyubin
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаRoman Dvornov
 
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...Yandex
 
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...Yandex
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in productionAnatoly Popov
 
Selenium нетрадиционной ориентации или Тестирование производительности Javasc...
Selenium нетрадиционной ориентации или Тестирование производительности Javasc...Selenium нетрадиционной ориентации или Тестирование производительности Javasc...
Selenium нетрадиционной ориентации или Тестирование производительности Javasc...Nikita Makarov
 
S A P R 3 System Administration Liane Will Rus(1)
S A P  R 3  System  Administration   Liane  Will   Rus(1)S A P  R 3  System  Administration   Liane  Will   Rus(1)
S A P R 3 System Administration Liane Will Rus(1)rajankoli
 
Sap R 3 System Administration Liane Will Rus(1)
Sap R 3 System Administration  Liane Will  Rus(1)Sap R 3 System Administration  Liane Will  Rus(1)
Sap R 3 System Administration Liane Will Rus(1)rajankoli
 
Sap R 3 System Administration Liane Will Rus
Sap R 3 System Administration  Liane Will  RusSap R 3 System Administration  Liane Will  Rus
Sap R 3 System Administration Liane Will Rusguestc206c38b4
 
Sap R 3 System Administration Liane Will Rus(1)
Sap R 3 System Administration  Liane Will  Rus(1)Sap R 3 System Administration  Liane Will  Rus(1)
Sap R 3 System Administration Liane Will Rus(1)rajankoli
 
Как справляться с ростом инфраструктуры сервиса — Игорь Андреев
Как справляться с ростом инфраструктуры сервиса — Игорь АндреевКак справляться с ростом инфраструктуры сервиса — Игорь Андреев
Как справляться с ростом инфраструктуры сервиса — Игорь АндреевYandex
 
Н. Иготти. Виртуализация и виртуальные машины. Лекция 02
Н. Иготти. Виртуализация и виртуальные машины. Лекция 02Н. Иготти. Виртуализация и виртуальные машины. Лекция 02
Н. Иготти. Виртуализация и виртуальные машины. Лекция 02Computer Science Club
 
Бинарные уязвимости и эксплойты: технологии и перспективы
Бинарные уязвимости и эксплойты: технологии и перспективыБинарные уязвимости и эксплойты: технологии и перспективы
Бинарные уязвимости и эксплойты: технологии и перспективыd_olex
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...IT-Portfolio
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Ontico
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Ontico
 
Создание и развитие отечественной платформы с открытым программным кодом для ...
Создание и развитие отечественной платформы с открытым программным кодом для ...Создание и развитие отечественной платформы с открытым программным кодом для ...
Создание и развитие отечественной платформы с открытым программным кодом для ...ARCCN
 

Similar to Ldv slides (20)

Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting   Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting
 
01 linux-course
01 linux-course01 linux-course
01 linux-course
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтенда
 
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
 
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
 
Selenium нетрадиционной ориентации или Тестирование производительности Javasc...
Selenium нетрадиционной ориентации или Тестирование производительности Javasc...Selenium нетрадиционной ориентации или Тестирование производительности Javasc...
Selenium нетрадиционной ориентации или Тестирование производительности Javasc...
 
S A P R 3 System Administration Liane Will Rus(1)
S A P  R 3  System  Administration   Liane  Will   Rus(1)S A P  R 3  System  Administration   Liane  Will   Rus(1)
S A P R 3 System Administration Liane Will Rus(1)
 
Sap R 3 System Administration Liane Will Rus(1)
Sap R 3 System Administration  Liane Will  Rus(1)Sap R 3 System Administration  Liane Will  Rus(1)
Sap R 3 System Administration Liane Will Rus(1)
 
Sap R 3 System Administration Liane Will Rus
Sap R 3 System Administration  Liane Will  RusSap R 3 System Administration  Liane Will  Rus
Sap R 3 System Administration Liane Will Rus
 
Sap R 3 System Administration Liane Will Rus(1)
Sap R 3 System Administration  Liane Will  Rus(1)Sap R 3 System Administration  Liane Will  Rus(1)
Sap R 3 System Administration Liane Will Rus(1)
 
Как справляться с ростом инфраструктуры сервиса — Игорь Андреев
Как справляться с ростом инфраструктуры сервиса — Игорь АндреевКак справляться с ростом инфраструктуры сервиса — Игорь Андреев
Как справляться с ростом инфраструктуры сервиса — Игорь Андреев
 
Н. Иготти. Виртуализация и виртуальные машины. Лекция 02
Н. Иготти. Виртуализация и виртуальные машины. Лекция 02Н. Иготти. Виртуализация и виртуальные машины. Лекция 02
Н. Иготти. Виртуализация и виртуальные машины. Лекция 02
 
Бинарные уязвимости и эксплойты: технологии и перспективы
Бинарные уязвимости и эксплойты: технологии и перспективыБинарные уязвимости и эксплойты: технологии и перспективы
Бинарные уязвимости и эксплойты: технологии и перспективы
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
 
Team workflow
Team workflowTeam workflow
Team workflow
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
 
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
 
Создание и развитие отечественной платформы с открытым программным кодом для ...
Создание и развитие отечественной платформы с открытым программным кодом для ...Создание и развитие отечественной платформы с открытым программным кодом для ...
Создание и развитие отечественной платформы с открытым программным кодом для ...
 

Ldv slides