Помощь в учёбе, очень быстро...
Работаем вместе до победы

Автоматизированная система моделирования логических неисправностей для тестирования вычислительных процессов

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

Программное обеспечение (ПО) вычислительных систем характеризуется наличием большого количества ошибок. Даже при том, что мно1ие ошибки, которые изначально присутствуют в новом ПО, обнаруживаются и исправляются до того, как оно попадает к пользователю, остающиеся продолжают вызывать ненужные затраты и потери времени в течение еще длительного периода после завершения разработки ПО. Таким образом… Читать ещё >

Содержание

  • Список используемых сокращений и обозначении
  • Глава 1. Современные методы оценки качества тестирования
    • 1. 1. Вст)иление
    • 1. 2. Анали* покрьпия кода
      • 1. 2. 1. Определение АПК
    • 1. 2.2 Исходные посылки АПК
      • 1. 2. 3. Вазовые критерии покрытия
      • 1. 2. 4. Прочие критерии
      • 1. 2. 5. Сравнение покашелей
    • 1. 3 Мугационное тестирование
      • 1. 3. 1. Описание метода МТ
      • 1. 3. 2. Затраты на мутационное тестирование
      • 1. 3. 3. Генерация тестовых данных, основанная на ограничениях
      • 1. 3. 4. Улучшения в технологии М Г
      • 1. 3. 5. Новый процесс МГ

Автоматизированная система моделирования логических неисправностей для тестирования вычислительных процессов (реферат, курсовая, диплом, контрольная)

Актуальность проблема тки диссертационной работы

Программное обеспечение (ПО) вычислительных систем характеризуется наличием большого количества ошибок. Даже при том, что мно1ие ошибки, которые изначально присутствуют в новом ПО, обнаруживаются и исправляются до того, как оно попадает к пользователю, остающиеся продолжают вызывать ненужные затраты и потери времени в течение еще длительного периода после завершения разработки ПО. Таким образом, важнейшей задачей является повышение качества тестирования профаммных продуктов [1,2].

Сфуктурное тестирование программного продукта может быть сведено к тестированию вычислительного процесса (ВП), порождаемого программой при интерпретации её команд вычислительной машиной [3]. Вычислительный процесс задае1ся в виде фафо-аналитической модели (ГАМ) — под ГАМ при этом понимается описание вычислительного процесса в виде вершин, содержащих аналитические формулы, и дуг, образующих связи между вершинами [4, 5].

Во время тестирования ВП следует каким-либо образом оценить контролирующие свойства используемых входных наборов, т. е. провести анализ качества тестов. Одним из решений данной задачи является создание автоматизированной системы, проверяющей эффективность тестирования ВП. Такою рода система была разработана в рамках данной диссертации. Эта система является составной частью учебно-исследовательской системы авюматизированною проектирования (САПР), используемой для автоматизации тестирования и верификации вычислительных процессов [6].

Для оценки качества структурного тестирования были в свое время предложены разнообразные критерии покрытия тестируемого кода, в частности, покрытия операторов, ветвей, путей и т. д. Позднее был предложен меюд мутационного тестирования, который, однако, в широком смысле также является подвидом анализа покрытия кода [7, 8].

В каждом конкретном случае из большого числа существующих методов оценки качества тестирования можно выбрать какой-либо наиболее подходящий. Если исходить из задачи проектирования учебно-исследовательской САПР, то все упомянутые методы в том виде, в котором они чаще всего применяются, имеют ряд недостатков.

Текст программы, порождающей тестируемый ВП, анализируется на уровне исходного языка высокою уровня (ЯВУ) — для сбора нужной статистической информации необходима перекомпиляция, во время которой в программу вносится некоторая дополнительная информация — например, флаги, с помощью которых потом можно было бы восс1ановить путь исполнения. Следовательно, такие системы проверки качества тестирования должны тесно взаимодействовать с компиляторами для всех возможных ЯВУ, на которых пишутся программы, порождающие тестируемые ВП [9].

Подробное исследование свойств применяемых тесювых последовательностей достигается, как правило, путем увеличения объема собираемой информации и/или усложнения алюритмов ее обрабо1Ки, что могло бы отрицательным образом сказаться как на времени разраб01ки системы, гак и на ее итоговой производительности.

Следова1ельно, возникает необходимость в создании нового критерия оценки качества тестовых наборов. Можно сделать вывод, что разработка автоматизированной системы, оценивающей эффективность тестирования вычислительных процессов с помощью нового кригерия качества тестирования, является акгуальной задачей. При этом должны бы гь соблюдены следующие условия.

1)Все необходимые изменения должны вноситься в машинный код программы, порождающей тестируемый ВП, блаюдаря чему исчезнет необходимость перекомпиляции программыв целом это позволь снизить зависимость системы от какою-либо конкретного ЯВУ.

2) Объем используемой информации должен быть достаточным, чтобы получить адекватное представление о качестве используемых тесювых наборов, и при этом время работы сис1емы должно быть небольшим.

3) Общий алгоритм работы системы должен быть относительно легко реализуемым и при этом эффективнымдля достижения этого фебуется учитывать особенности тестируемых вычислительных процессов учебно-исследовательских программ, в частности, короткое время их выполнения.

Целью работы является создание на основе новою критерия оценки качес1ва тестовых наборов автоматизированной системы, способной за приемлемое время производить анализ качества юстирования вычислительных процессов учебно-исследовательских про1рамм.

Основные задачи рабо1ы состоят в следующем:

1) Анализ существующих критериев качества тестирования и разработка на их основе нового критерия, позволяющего с помощью относительно простых алгоритмических решений и без значительных временных затрат эффективно оценивать качество входных наборов, применяемых при тестировании вычислительных процессов;

2) Разработка методов анализа и модификации машинного кода, позволяющих применять новый кршерий качества тесювых наборов и достигать при этом максимальной производительности рабош автоматизированной системы, оценивающей эффективное п> тестирования вычислительных процессов;

3) Создание на основе разработанных методов автомашзированной системы, позволяющей оценивать и повышать эффективность тестированияданная система будет являться подсистемой учебно-исследовательской САПР верификации и тестирования вычислительных процессов.

Методы исследования

В соответствии с целями и задачами диссертационной работы объектом исследования является вычислительный процесс программы, а предметом исследования — моделирование в данном процессе неисправностей для оценки качества используемых при тестировании входных наборов.

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

В работе получены следующие научные результаты, выносимые на защиту.

1) Предложен новый критерий оценки качества тестовых наборовкритерий покрытия простых логических неисправностей в условиях-предикатах вычислительных процессов.

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

3) Предложены два дополнительных метода: метод имитции опасных неисправностей и метод отладки бесконечных циклов, используемые в различных ситуациях вместо метода прямою моделирования неисправностей для предотвращения разною рода аварий.

4) На основе перечисленных методов предложен алгори1м работы автоматизированной системы моделирования неисправностей, являющейся частью учебно-исследовательской САПР верификации и тестирования вычислительных процессов, и используемой для проверки и повышения эффективности тестирования.

Практическое значение работы состоит в следующем.

1)Дан пример использования логических неисправностей определенною вида для оценки качества тестовых наборов.

2) Реализована и внедрена в учебный процесс автоматизированная система моделирования неисправностей, являющаяся подсистемой учебно-исследовательской САПР и призванная реша1ь ряд задач при проведении тестирования ВП. Полезность данной системы определяется возможностью сопоставления моделируемых неисправностей и используемых 1есювых входных наборовтакое сопоставление позволяет, в частное ж, выполняп, следующее:

— находить среди используемых тестовых наборов те, коюрые не проверяют новых по отношению к остальным наборам неисправностей и могут бы 1ь отбракованы;

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

Достоверное! ь научных положений, выводов и практических рекомендаций диссертационной рабо1Ы подтверждается детальным анализом проблем, связанных с моделированием неисправностей, корректным обоснованием предлагаемых решений, положительными результатами при обсуждении работы на различных научных конференциях, а также результатами использования на практике разработанных в рамках диссертации методов.

Кра1Кое содержание работы по главам

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

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

Во второй главе диссертации вводится понятие логической неисправности и в первом приближении обосновывается возможность применения предлагаемого критерия покрытия моделируемых неисправностей в качестве критерия оценки эффективности тестовых наборов. Далее рассматриваются вопросы, связанные с осущесгвлением прямого моделирования простых логических неисправноеIей в условиях-предикатах ВН. Уделяется внимание проблеме эквивалентности вычислительных процессов, возникающей в отдельных случаях при моделировании неисправностей, и ее влиянию на покрытие неисправностей.

В конечном итоге доказывается эффективность критерия покрытия моделируемых неисправностей на основе сравнения достигнутых в данной главе результатов с рассмотренными в первой главе результашми применения других критериев оценки качества тестирования В11.

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

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

Автоматизированная система моделирования неисправностей позволяет сопоставить используемые тестовые наборы и обнаруживаемые ими неисправности. Наличие такого рода информации позволяет реша1ь задачи отбраковки ненужных и подбора дополни? ельных тестовых наборов для достижения необходимого качества тестирования, определяемою полнотой покрытия моделируемых неисправностей.

Результаты работы исходного В11 будут выведены в следующем виде. Эталонные результаты:

Т1 -15

Т2 -1

ТЗ О Т4

Т5 -4

Тб 3

Для всех шести тестовых наборов получены правильные результаты. Теперь необходимо провести моделирование неисправностей. Для этою следует ответить «Да» на вопрос

ПРОДОЛЖАТЬ РАБОТУ? Д-Да, Н-Нет т. е. нажать «Д».

После моделирования неисправностей будут выведены следующие результаты.

Команды ¡-Яитр и неисправности:

40 102Е, 1ЬЕ Вне тТ Прямое мод. Кол-во наборов = 1(6) тЕ Прямое мод. Кол-во наборов = 3(6)

401 038 ЗЕ Вне тТ Прямое мод. Кол-во наборов = 1(6) шЕ Прямое мод. Кол-во наборов = 1(6) 401 061Е Вне тТ Прямое мод. Кол-во наборов = 2(6) шЕ Прямое мод. Кол-во наборов = 1(6)

004 010 6А Л, Вне шТ Прямое мод. Кол-во наборов = 2(6) шЕ Прямое мод. Кол-во наборов = 1(6)

401 073 аЫЕ Вне шТ Прямое мод. Кол-во наборов = 1(6) шЕ Прямое мод. Кол-во наборов = 1(6)

КПМН =1.0

ТПН:

T1 l. mT, 2. mT

Т2 З. шТ, 4. mT, 5. mF

ТЗ l. mF

Т4 l. mF, З. гпТ, 4. mT, 5. тТ

Т5 2. mF, 3. mF

Т6 l. mF, 4. mF

4.6 Системные требования и время работы

Автоматизированная система MIIJ1H реализована в виде консольного приложения Windows, и требования к производительности персонального компьютера, на который должна быть установлена автоматизированная система, не являются высокими. Однако следует помнить, что при относительно большом количестве моделируемых неисправностей и/или относительно длительном времени работы тестируемого BII в тестируемых ВП предпочтительнее, разумеется, использование высокопроизводительного компьютера.

Минимальные системные требования:

— процессор Intel PII 233 МГц;

— оперативная память 32 Мб;

— операционная система Windows 98.

Согласно формуле (2.36), время работы автоматизированной системы МПЛН можно оценить следующим образом: tcm ^2tmNl?umpNT. Для большей точности следует добавить еще время на тестирование исходною 13П без неисправностейв итоге получаем следующее. сш A hu (2Nl?umr +)NT (4.3)

Для примера приведем временные параметры работы системы на персональном компьютере с частотой процессора 900 МГц (ВП содержит цикл Ц1 и в общей сложности 6 условий-предикатов). я&bdquo- *0.09с, i/Jump =

10, (4>4)

2^ + 1)^=11,70 6-,

Ш= 13,83 с

Понятно, что в тех случаях, когда приходится использовать метод отладки для борьбы с возникшими бесконечными циклами, на время работы системы будет влиять уже значение таймаут (см. 3.1.6). Запретим использовать метод имитации опасных неисправностей в предыдущем примере и выберем в качестве таймаута tu = 1 с. = 0,09 с, — 1 с,

N =6

Ритр и"

Л^=10, (4−5) ш^фитр^т 20,80 с, щ ~ 23,95 с

Заключение

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

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

2) Разработан метод прямого моделирования простых логических неисправностей, позволяющий применять предложенный критерий покрытия в наиболее просшх случаях (например, при тестировании ациклических вычислительных процессов).

3) В целях предотвращения аварийных ситуаций, возникающих в определенных обстоятельствах при использовании метода прямого моделирования неисправностей, было сделано следующее:

— исследован механизм возникновения аварийных ситуаций при прямом моделировании неисправностей (в частности, в вычислительных процессах, содержащих циклы);

— разработаны два дополнительных метода (метод имитации опасных неисправностей и метод отладки бесконечных циклов) для моделирования неисправностей в тех случаях, когда применение метода прямою моделирования могло бы привести к возникновению аварийных ситуаций;

— разработан алгоритм выбора метода моделирования конкрепюй неисправности.

4) На основе предложенных методов моделирования неисправностей была разработана автоматизированная система, позволяющая оценивать и повышать эффективность тестированияданная система является подсистемой учебно-исследовательской САПР верификации и тестирования вычислительных процессов.

Основные положения диссертационной работы докладывались на XXXIV научной и учебно-методической конференции СПбГУ ИТМО (Санкт-Петербург, 2005) — II конференции молодых ученых СПбГУ ИТМО (Санкт-Петербург, 2005) — XXXV научной и учебно-методической конференции СПбГУ ИТМО (Санкт-Петербург, 2006) — III конференции молодых ученых СПбГУ ИТМО (Санкт-Петербург, 2006).

По теме диссертации опубликованы 5 печатных работ, в том числе три статьи в научных сборниках и две стгьи в трудах научных конференций.

Автоматизированная система моделирования простых ло1ических неисправностей, разработанная в рамках диссертации, используется на практике в учебном процессе кафедры Информатики и Прикладной Математики СПбГУ ИТМО, а также в ФГУП «Санкт-Петербургское ОКБ «Электроавтоматика».

Показать весь текст

Список литературы

  1. С., Фолк Дж., Нгуен Енг. Тестирование программною обеспечения. К.: ДиаСофт, 2000. — 544с.
  2. В.В. Обеспечение качества программных средств. Методы и сгандарты. М.: Синтег, 2001. — 380с.
  3. О.Ф., Зыков А. Г., Лаздин A.B., Поляков В. И. Верификация в исследовательских, учебных и промышленных системах. // Научно-технический вестник. СПб.: СПбГИТМО (ТУ), 2003.
  4. Графы и алгоритмы. Структуры данных. Модели вычислений: Учебник / В. Б. Алексеев, В. А. Таланов. М.: Интернет-Университет Информационных технологий- БИНОМ. Лаборатория знаний, 2006. — 320с.
  5. Goodenough J.В., Gerhart S.L. Toward a Theory of Test Data Selection // IEEE Transactions on Software Engineering, 1975, SE 1, № 2, p. 156−193
  6. Ntafos S.C. A Comparition of Some Structural Testing Strategies // IEEE 1 ransaction on Software Engineering. 1988. — Vol. SE — 14, № 6. pp 868−874
  7. Beizer В. Software Testing Techniques ITP, 1990. — 550 pp.
  8. Zhu H., Hall P.A.V., May J.H.R. Software unit test coverage and adequacy. ACM Computing Survey, pp. 366−427, 1997.
  9. В.В. Тестирование программ. М.: Радио и связь, 1986.296с.
  10. Дж., Сайке Д. Тестирование объектно-ориентированного программного обеспечения. К.: Диасофг, 2002. — 432с.
  11. Г. Искусство тестирования программ. М.: Финансы и статистика, 1982.- 176с.
  12. Hunt A., Thomas D. The Pragmatic Programmer. Addison-Wesley, 1999
  13. Li, Y.Y. Structural test cases analysis and implementation. 42nd Midwest Symposium on Circuits and Systems, 8−11 August, 1999, Volume 2, pp. 882−885.
  14. Morell L. A Theoiy of Fault-Based Testing. // IEEE Trans. Software Eng., Vol.16, No.8, August 1990, pp.844−857.
  15. Ammann P., Black P. A specification-based coverage metric to evaluate test sets. In Proceedings of the 4th IEEE International Symposium on I Iigh Assurance Systems and Engineering, 1999.
  16. Основы тестирования программною обеспечения: Учебное пособие / В. П. Котляров, Т. В. Коликова. М.: Интернет-Универсшет Информационных 1ехноло1 ий- БИНОМ. Лабораюрия знаний, 2006. — 265с.
  17. Pressman, R.S. Software engineering: A practitioner’s approach. McGraw-Hill, NY, 1996.
  18. И.В. Автоматизация процессов тестирования СПб.: Питер, 2005. — 203с.
  19. Perry W. Effective methods for software testing. John Wiley & Sons, NY, 1995.
  20. Roper M. Software Testing. London, McGraw-Hill Book Company, 1994
  21. McCabe T.J., Schulmeyer G.G. System Testing Aided by Structured Analysis (A Practical Experience) // COMPSAC'82. Proc. IEEE Comput. Soc. 6th1. ternational Computer Software and Appl. Conference (Chicago, 111, Nov. 8−12, 1982).-pp. 523 -528
  22. Chilenski J.J., Miller S.P. Applicability of Modified Condition/Decision Coverage to Software Testing. Software Engineering Journal, September 1994, Vol. 9, No. 5, pp. 193−200.
  23. Hayhurst K.J., Veerhusen D.S., Chilenski J. J., Rierson L.K. A Practical Tutorial on Modified Condition/Decision Coverage, Report NASA/TM-200I-210 876, NASA, USA, May 2001.
  24. Ю.В., Уртанс Г. Б., Шимаров B.A. Выбор путей программы для построения тестов // УСиМ. 1989. — N. 6 — с.29−36
  25. Woodward M.R., Hedley D., Hennell M.A. Experience with Path Analysis and Testing of Programs // IEEE Transactions on Software Engineering, Vol. SE-6, No. 3, pp. 278−286, May 1980.
  26. JI., Локвуд JI. Разработка программного обеспечения. -СПб.: Питер, 2004. 592с.
  27. Ф. Мифический человеко-месяц или как создаю 1ся программные системы. СПб.: Символ-Плюс, 1999. — 304с.
  28. Boehm В. Software Engineering Economic/ Prentice-Hall, Inc, N. J. 1981.- 767 pp.
  29. Marick B. How to Misuse Code Coverage. International Conference and Exposition on Testing Computer Software, June 1999.
  30. Shimarov V.A. Definition and quantitative estimation of testing criteria // Software Quality Concern for people. Proceedings of the Fourth European Conference on Software Quality. October 17−20, 1994, Basel, Switzerland. Pp 350−360
  31. Offutt J., Practical Mutation Testing. // Twelfth International Conference on Testing Computer Software, pages 99−109, Washington, DC, June 1995
  32. Offutt J., Lee A., Rothermel G., Untch R., Zapf Ch. An Experimental Determination of Sufficient Mutant Operators. // ACM Transactions on Software Engineering Methodology, 5(2):99-l 18, April 1996.
  33. King K.N. A Fortran Language System for Mutation-Based Software Testing. Software Practice and Experience, 21(7):686−718, July 1991.
  34. Offutt J. Investigations of the Software Testing Coupling Effect. // ACM Transactions on Software Engineering Methodology, 1(1):3−18, January 1992
  35. Budd T.A. Mutation Analysis of Program Test Data. PhD thesis, Yale University, New Haven CT, 1990.
  36. DeMillo R., Offutt J. Constraint-Based Automatic Test Data Generation. // IEEE Transactions on Software Engineering, 17(9):900−910, September 1991.
  37. Andrews J.H., Briand L.C., Labiche Y. Is Mutation an Appropriate Tool for Testing Experiments? // Proc. IEEE International Conference on Software Engineering, St. Louis, Missouri, pp.402−411, 2005.
  38. Howden W.E. Weak mutation testing and completeness of test sets. // IEEE Transactions on Software Engineering, 8(4):371−379, July 1982.
  39. Offutt J., Lee S.D. An Empirical Evaluation of Weak Mutation. // IEEE Transactions on Software Engineering, 20(5):337−344, May 1994
  40. Untch R., Harrold M.J., Offutt J. Mutation Analysis Using Program Schemata. 1993 International Symposium on Software Testing and Analysis, pages 139−148, Cambridge, Massachusetts, June 1993.
  41. Untch R. Mutation-based software testing using program schemata. In Proceedings of the 30th ACM Southeast Regional Conference, Raleigh, NC, April 1992.
  42. Offutt J., Rothermel G., Zapf. Ch. An Experimental Evaluation of Selective Mutation. // Fifteenth International Conference on Software Engineering, pages 100−107, Baltimore, Maryland, May 1993.
  43. Offutt J., Pan J. Automatically Detecting Equivalent Mutants and Infeasible Paths. The Journal of Software Testing, Verification, and Reliability, Vol 7, No. 3, pages 165−192, September 1997.
  44. Wong W.E. Mutation Testing in the New Century, Kluwer Academic Publishers, ISBN 0−7923−7323−5, 2001.
  45. Offutt A.J., Untch R.H. Mutation 2000: Uniting the Orthogonal. Proc. Mutation, San Jose, CA, USA, pp. 45−55, October, 2000.
  46. Kim S., Clark J.A., McDermid J.A. Investigating the Effectiveness of Object-Oriented Testing Strategies with the Mutation Method. Software Testing, Verification and Reliability, vol. 11 (3), pp. 207−225, 2001.
  47. Итерационно-рекурсивная модель вычислительных процессов, порождаемых программами / Немолочнов О. Ф., Зыков А. Г., Поляков В. И., Сидоров А. В., Осовецкий Л. Г. // Изв. ВУЗов. Приборостроение. 2005. Т 48, № 12, С. 14−20
  48. О.Ф. Методы технической диагностики / Методическое пособие.-Л.: ЛИТМО, 1977.
  49. Проектирование цифровых вычислительных машин / С. А. Майоров, Г. И. 11овиков, О. Ф. Немолочнов и др. / Под ред. Майорова С. А. М.: Высш. шк., 1972.-344 с.
  50. И.П. Основы автоматизированного проектирования: Учеб. Для вузов. 2-е изд., перераб. и дои. М.: Изд-во МГ’ГУ им. Н. Э. Баумана, 2002. -336 с.
  51. В.В., Пархоменко П. П., Согомонян Е. С., Халчев В. Ф. / Основы технической диагностики. Кн.1.- М.: Энергия, 1976
  52. Armstrong D.B. On Finding a Nearly Minimal Set of Fault Detecting Tests for Combinational logic Nets, IEEE Trans., EC-15, 1966.
  53. Roth I.P. Diagnosis of Automata Failures: A Calculus and A Method. IBM Journal of Res. And Dev., 10, 1966.
  54. Графы и их применение. Комбинаторные алгоритмы для программистов: Учебное пособие / Н. И. Костюкова. М.: Интернет-Универсиге1 Информационных технологий- БИНОМ. Лаборатория знаний, 2007.-311 с.
  55. Offutt J., Craft М. Using Compiler Optimization Techniques to Detect Equivalent Mutants. The Journal of Software Testing, Verification, and Reliability, 4(3): 131−154, September 1994
  56. ., Ричи Д. Язык Си. М.: Финансы и статистика, 1990.
  57. Harrold M.J. Using data flow analysis for testing. Technical Report 93 112, Department of Computer Science, Clemson University, 1993.
  58. I Iecht M.S. Flow Analysis of Computer Programs. Elsevier, Amsterdam, 1977.
  59. Herman P.M. A Data Flow Analysis Approach to Program Testing // Australian Computer Journal. 1976. — Vol. 8, № 3. pp. 92−96
  60. Kennedy K.W. A survey of data flow analysis techniques. In S. S. Muchnick and N. D. Jones, editors, Program Flow Analysis: Theory and Applications, chapter 1, pp 5−54. Prentice-Hall, 1981.
  61. P. Программное обеспечение без ошибок. M.: Радио и связь, 1996.
  62. Э. Дисциплина программирования. М.: Мир, 1978.
  63. А.В., Фролов Г. В. Microsoft Visual С++ и MFC. Программирование для Windows 95 и Windows NT. M.: ДИАЛОГ-МИФИ, 1996.-288 с.
  64. Д. Искусство программирования для ЭВМ. Т. 1. Основные алгоритмы. М.: Мир, 1976. — 736 с.
  65. К.В. Метод верификации подпрограмм, написанных на языке высокою уровня. // Вестник II межвузовской конференции молодых ученых. Сборник научных трудов. / Под ред. B. J1. Ткалич. Том 1, — СПб.: СПбГУ ИТМО, 2005. С. 41−45
Заполнить форму текущей работой