Московский государственный университет путей сообщения
Опубликован: 06.09.2012 | Доступ: свободный | Студентов: 1233 / 168 | Оценка: 5.00 / 5.00 | Длительность: 35:22:00
Специальности: Разработчик аппаратуры
Лекция 21:

Выполнимость булевых функций и бинарные диаграммы в построении тестов

< Лекция 20 || Лекция 21: 1234 || Лекция 22 >

21.3 Сжатие тестов

На последнем этапе генерации тестов анализируются и объединяются фрагменты тестов, полученных на разных этапах и для различных неисправностей. При этом часто выполняется моделирование неисправностей входных наборов построенного теста в порядке, обратном их генерации. То есть тесты, построенные во второй фазе, моделируются первыми, а затем обрабатываются тесты, полученные в первой фазе. При этом контролируется полнота тестов. Когда полнота достигает 100% (или заданной величины), оставшиеся входные наборы из первой фазы исключаются из теста. Таким образом, обычно удается сократить тестовую последовательность. Обуславливается это тем, входные наборы, построенные псевдослучайными методами, как правило, проверяют меньше неисправностей чем, тесты, полученные во второй фазе.

Кроме этого, тесты, построенные во второй фазе, обычно имеют достаточно много входов с неопределенными значениями и это можно использовать для сокращения теста. Два входных тестовых набора называются совместимыми, если они не имеют противоположных (определенных) значений для любых внешних входов. Два совместимых входных тестових набора t_{i} и t_{j} могут быть объединены в один t_{ij}=t_i \cap t_j путем выполнения операции пересечения. При этом множество проверяемых набором t_{ij} неисправностей является объединением множеств неисправностей, проверяемых по отдельности наборами t_{i} и t_{j}. Таким образом, наборы t_{i} и t_{j} в тесте могут быть заменены t_{ij}. Этот метод можно использовать итеративно для сокращения теста. Такой процесс называется статическим сокращением тестов. В общем случае результат статического сокращения тестов зависит от порядка, в котором обрабатываются входные наборы. Например, для теста t_{1}=01u, t_{2}=0u1, t_{3}=0u0, t_{4}=u01 в том случае, если мы объединим t_{1} и t_{2}, мы получим множество t_{12}=011, t_{3}=0u0, t_{4}=u01, которое далее невозможно сократить. Если же мы сначала объединим t_{1} и t_{3} , то далее возможно также объединение t_{2} и t_{4}, что дает более короткий тест: t_{13}=010, t_{24}=001. Оптимальное сжатие этим методом требует больших вычислительных ресурсов, так как фактически сводится к перебору различных вариантов решения. Таким образом, статическое сжатие выполняется на этапе постпроцессорной обработки.

Динамическое сжатие теста

Рис. 21.13. Динамическое сжатие теста

В отличие от статического, динамическое сжатие выполняется сразу же после построения текущего входного тестового набора путем подбора двоичных значений, которые присваиваются неопределенным входам. На рис. 21.13 приведен псевдокод укрупненного алгоритма динамического сжатия тестовой последовательности. Отметим, что здесь выполняется проверка перспективности текущего тестового набора путем, например, вычисления процента числа входов с неопределенными значениями. Если текущий тестовый набор t перспективен для сжатия, то выбирается вторичная неисправность и значения входов доопределяются таким образом, чтобы она проверилась на t. Наиболее важным при этом является метод выбора вторичной неисправности. Эксперименты показали, что динамическое сжатие позволяет получить тесты меньшей длины.

Ключевые термины:

Конъюнктивнаян нормальная форма - нормальная форма, в которой булева формула имеет вид конъюнкции нескольких дизъюнкций литералов.

Выполнимость булевой функции - булева функция F(X) выполнима, если существует хотя бы один набор значений ее аргументов, такой, что она истинна (F(X)=1).

Бинарная диаграмма(альтернативный граф) - ациклический ориентированный граф, который представляет булевы функции.

Краткие итоги

В лекции рассмотрены современные методы построения проверяющих тестов для заданной неисправности комбинационной схемы на основе выполнимости булевых функций и бинарных диаграмм.

В "Выполнимость булевых функций и бинарные диаграммы в построении тестов" изложено приведение задачи построения теста для данной неисправности к конъюктивной нормальной форме. Показано как задача построения проверяющего теста сводится к задаче выполнимости булевой функции. Изложен метод решения задачи выполнимости применительно к построению теста.

В "Выполнимость булевых функций и бинарные диаграммы в построении тестов" описано применение бинарных диаграмм (альтернативных графов) к решению задачи построения проверяющего теста. При этом строится бинарная диаграмма различающей функции и далее построение теста сводится к поиску определенного пути на графе.

"Выполнимость булевых функций и бинарные диаграммы в построении тестов" посвящен задаче сжатия построенных тестов с помощью статических или динамических методов.

Вопросы и упражнения

  1. Как можно построить КНФ для логической схемы?
  2. Какие преобразования при этом используются?
  3. Как строится КНФ для различающей функции?
  4. Как эффективность решения выполнимости булевых функций зависит от числа термов в дизъюнктах?
  5. Приведите алгоритм решения задачи выполнимости, применяемый при построении теста.
  6. Как можно внести в КНФ нелокальные импликации?
  7. Как в КНФ можно дополнительно ввести информацию об активизированных путях в схеме?
  8. Как можно добавить в КНФ дизъюнкты, учитывающие неконтролирующие значения?
  9. При решении каких задач диагностики ЦС можно использовать бинарные диаграммы?
  10. Опишите подход, использующий бинарную диаграмму различающей функции?
  11. К чему сводится поиск тестового набора на бинарной диаграмме?
  12. Какие модели неисправностей можно определить на бинарных диаграммах?
  13. Что такое 0- (1-) эксперименты на бинарной диаграмме?
  14. Зачем нужно сжатие построенных тестов?
  15. Какие подходы существуют к сжатию теста?
  16. Опишите статический подход к сжатию тестов.
  17. Чем динамический подход отличается от статического?
< Лекция 20 || Лекция 21: 1234 || Лекция 22 >
Дмитрий Медведевских
Дмитрий Медведевских

Добрый день  можно поинтересоваться где брать литературу предложенную в курсе ?Большинство книг я не могу найти  в известных источниках