Синтетические инструменты структурного тестирования Базовые сведения В. Кулямин.

Презентация:



Advertisements
Похожие презентации
Расширение технологии UniTESK средствами генерации структурных тестов Дмитрий Воробьев
Advertisements

Математика сложна, Но скажу с почтением – Математика нужна Всем без исключения!
МКОУ»Медвёдская средняя общеобразовательная школа 17» Урок по алгебре в 7 классе по теме «Формулы сокращённого умножения» Подготовила Ходырева Валентина.
Таблица умножения на 8. Разработан: Бычкуновой О.В. г.Красноярск год.
Формальная верификация: методы и приложения В. Кулямин Е. Корныхин.
Корректность программ Классические и современные подходы В. В. Кулямин Институт системного программирования РАН.
Анализ воспитательной работы В ГБС(К)ОУ школе учебный год.
Качество знаний, успеваемость и СОУ за I полугодие учебный год.
Формулы и правила дифференцирования. МБОУ гимназия 3 г. Мурманска Шахова Татьяна Александровна.
Фрагмент карты градостроительного зонирования территории города Новосибирска Масштаб 1 : 6000 Приложение 7 к решению Совета депутатов города Новосибирска.
Электронный мониторинг Национальной образовательной инициативы «Наша новая школа» Петряева Е.Ю., руководитель службы мониторинга.
Microsoft TechDays Сергей Попов Независимый разработчик.
Реферат на тему «Мода» Выполняла: Ученица 7 а класса Карелина Анна.
Please add field TTT to main page Remove customer address from main page … add functional …. Add field… Remove field…
Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота Ю.К.
Матемтааки ЕТ СТ 2 класс Шипилова Наталия Викторовна учитель начальных классов, ВКК Шипилова Наталия Викторовна учитель начальных классов, ВКК.
Сложение натуральных чисел (до 100)
Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 8 Управление Web-сервисами в новой версии Windows Azure Сафонов Владимир Олегович.
Лекция 1 Раздел 1 Windows Phone Темы раздела 3 Windows Phone Устройство на платформе Windows Phone 4.
Графики движения 4 класс. 14 апреля. Классная работа. 8 4/9, 9 7/9, 11 1/9, /9, 13 7/9, 15 1/9, /7, 16 1/7, 13 3/7, /7, 8, 5 2/7,...
Транксрипт:

Синтетические инструменты структурного тестирования Базовые сведения В. Кулямин

/16 Методы верификации Экспертиза Формальные методы Дедуктивный анализ (theorem proving) Проверка моделей (model checking) Проверка согласованности (conformance checking) Статический анализ Проверка правил корректности Поиск шаблонов ошибок Динамический анализ Мониторинг Создание тестов

/16 Гибридные техники Дедуктивный анализ Статический анализ Мониторинг Символическое выполнение Формальны й мониторинг Извлечение ограничений Проверка моделей Создание тестов Разрешение ограничений Вероятностные структурные тесты Абстрактные модели Расширенный статический анализ

/16 Символическое выполнение Symbolic execution 1976 James C. King (IBM) Lori A. Clark (University of Massachusetts) if(x > 0) { y := x+2; } else if(x > -1) { y := x+1; } else { y := x; } [(x > 0) (y = x+2)] & [(x 0 & x > - 1) (y = x+1)] & [[(x - 1) (y = x)]

/16 Абстрактные модели (abstract domains) Абстрактная интерпретация1977 Patrick Cousot, Radhia Cousot CNRS Восьмиугольники x y a Полиэдры Наборы объектов (heap structures) Битовые векторы …... while ( (x == 0) && (2*f(x)

/16 Расширенный статический анализ ESC/Modula 31998DEC Greg Nelson, K. Rustan M. Leino et al. ESC/Java2000 Compaq Leino, Cormac Flanagan ASTREE2002 Cousot ESC/Java Simplify Spec# Checker2004Microsoft Research Leino Boogie

/16 Формальный мониторинг Runtime verification1999 NASA Klaus Havelund, Willem Visser Java Path Finder + символическое выполнение

/16 Извлечение ограничений Daikon1999MIT Michael D. Ernst =,,

/16 Разрешение ограничений Solvers SMT solvers – Satisfiability modulo Theory CVC2002Stanford David L. Dill, Clarke W. Barrett, Aaron Stump Yices2005SRI International Bruno Dutertre, Leonardo de Moura Z32006Microsoft Research Leonardo de Moura, Nikolaj S. Bjørner

/16 Генерация структурных тестов Нацеливание на покрытие путей в коде Оракул – отсутствие исключений NullPointer, IndexOutOfBounds, ClassCast, DivideByZero, IllegalArgument Источники тестовых данных и последовательностей Эвристики Вероятностная генерация Символическое выполнение Подходы «Взлом» Динамически нацеливаемое тестирование Генерация тестов по шаблонам

/16 «Взлом» Yannis Smaragdakis, Christoph Csallner JCrasher Check-n-Crash2005 DSD-Crasher2006 Daikon ESC/Java 2 solver

/16 Динамически нацеливаемые тесты I Patrice Godefroid, Gul Agha, Koushik Sen DART2005 CUTE2005 Consolic testing (concrete + symbolic) jCUTE2006 Обычное выполнение Программа Символическое выполнение Поиск новых путей

/16 Динамически нацеливаемые тесты II SAGE2007 SMART2007 CREST2008http://code.google.com/p/crest/ h: ; h: ; h: ; h: ; h: ; h: ; h: ;.... Generation 0 – initial input – 100 bytes of h: ; RIFF h: ; h: ; h: ; h: ; h: ; h: ;.... Generation h: ** ** ** ; RIFF....*** h: ; h: ; h: ; h: ; h: ; h: ;.... Generation h: D ** ** ** ; RIFF=...*** h: ; h: ; h: ; h: ; h: ; h: ;.... Generation h: D ** ** ** ; RIFF=...*** h: ; h: ; h: ;....strh h: ; h: ; h: ;.... Generation h: D ** ** ** ; RIFF=...*** h: ; h: ; h: ;....strh....vids h: ; h: ; h: ;.... Generation h: D ** ** ** ; RIFF=...*** h: ; h: ; h: ;....strh....vids h: ;....strf h: ; h: ;.... Generation h: D ** ** ** ; RIFF=...*** h: ; h: ; h: ;....strh....vids h: ;....strf....( h: ; h: ;.... Generation h: D ** ** ** ; RIFF=...*** h: ; h: ; h: ;....strh....vids h: ;....strf....( h: C9 9D E4 4E ; ÉäN h: ;.... Generation h: D ** ** ** ; RIFF=...*** h: ; h: ; h: ;....strh....vids h: ;....strf....( h: ; h: ;.... Generation h: D ** ** ** ; RIFF=...*** h: ; h: ; h: ;....strh....vids h: B A ;....strf²uv:( h: ; h: ;.... Generation 10 – bug ID ! Found after only 3 generations starting from well-formed seed file

/16 Генерация тестов по шаблонам David Notkin, Tao Xie Wolfram Schulte, Nikolai Tillmann, Jonathan de Halleux Symstra2005 MUTT2006 Pex2008

/16 Другие инструменты Eclat2005 EXE2005 Randoop2007 …

/16 Конец Спасибо за внимание