Безопасность цифровых технологий

БЕЗОПАСНОСТЬ ЦИФРОВЫХ ТЕХНОЛОГИЙ

БЕЗОПАСНОСТЬ
ЦИФРОВЫХ ТЕХНОЛОГИЙ

English | Русский

Последний выпуск
№3(118) Июль - Сентябрь 2025

Эвристические алгоритмы поиска программных ошибок

Выпуск № 3 (77) Июль - Сентябрь 2014
Авторы:

Д.О. РОМАННИКОВ ,
Аннотация


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

 
Ключевые слова: программное обеспечение, тестирование, входные интервалы, формальная верификация, верификация, модели программного обеспечения, графы, тотальная корректность программ
Д.О. РОМАННИКОВ
630073, РФ, г. Новосибирск, пр. Карла Маркса, 20, Новосибирский государственный технический университет, кандидат технических наук, старший преподаватель кафедры автоматики. E-mail:
rom2006@gmail.com
Orcid:

Список литературы
1. Кларк Э., Грамберг О., Пелед Д. Верификация моделей программ. Model checking. – М.: МЦНМО, 2002. – 416 с.

2. Карпов Ю. Model checking. Верификация параллельных и распреде-ленных программных систем. – СПб.: БХВ-Петербург, 2010. – 560 с.

3. Шелехов В.И. Методы доказательства корректности программ с хоро-шей логикой [Электронный ресурс] // Международная конференция «Совре-менные проблемы математики, информатики и биоинформатики», посвящен-ная 100-летию со дня рождения члена-корреспондента АН СССР А.А. Ляпу-нова, 11–14 октября 2011 г.: доклады. – Новосибирск, 2011. – С. 1–21. – URL: http://conf.nsc.ru/files/conferences/Lyap-100/fulltext/74974/75473/Shelekhov_prlogic.pdf (дата обращения: 31.10.2014).

4. Глухих М.И., Ицыксон В.М., Цесько В.А. Использование зависимостей для повышения точности статического анализа программ // Моделирование и анализ информационных систем. – 2011. – Т. 18, № 4. – С. 68–79.

5. Cousot P., Cousot R. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints // Conference record of the fourth ACM symposium on principles of programming languages, Los Angeles, California, Jan. 17–19, 1977. – New York: ACM Press, 1977. – P. 238–252.

6. Bush W.R., Pincus J.D., Sielaff D.J. A static analyzer for finding dynamic programming errors // Software: practice and experience. – 2000. – Vol. 30, iss. 7. – P. 775–802. – doi: 10.1002/(SICI)1097-024X(200006)30:7<775::AID-SPE309> 3.0.CO;2-H.

7. Coherent clusters in source code / S. Islam, J. Krinke, D. Binkley, M. Har-man // Journal of systems and software. – 2014. – Vol. 88. – Р. 1–24.

8. Воевода А.А., Марков А.В., Романников Д.О. Разработка программного обеспечения: проектирование с использованием UML диаграмм и сетей Петри на примере АСУ ТП водонапорной станции // Труды СПИИРАН. – 2014. – Вып. 3 (34). – С. 218–231.

9. Falk H., Marwedel P. Source code optimization techniques for data flow dominated embedded software. – New York: Springer Science: Business Media, 2004. – 226 p.

10. Марков А.В., Романников Д.О. Алгоритм трансляции диаграммы ак-тивности в сеть Петри // Доклады Академии наук высшей школы Российской Федерации. – 2014. – № 1 (22). – С. 104–112.
Просмотров аннотации: 1326
Скачиваний полного текста: 670
Просмотров интерактивной версии: 0