← Назад
УДК 004
ИНТЕЛЛЕКТУАЛЬНОЕ ОБНАРУЖЕНИЕ ОШИБОК В ПРОГРАММНОМ КОДЕ
Юсупова Р.И.1, Зарипова Р.С.1
Казанский государственный энергетический университет (г. Казань)
1 e-mail: reginayusupova2805@yandex.ru
2 кандидат технических наук, доцент кафедры Цифровые системы и модели

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

Ключевые слова: программное обеспечение, поиск ошибок, код, искусственный интеллект, машинное обучение

Введение

Интеллектуальное обнаружение ошибок – это область, активно развивающаяся на пересечении программирования и искусственного интеллекта. Современные технологии позволяют не только автоматизировать этот процесс, но и значительно повышать его эффективность и точность [1]. За последние годы разработано множество инструментов и методик, способных обнаруживать ошибки на ранних стадиях разработки проекта, тем самым снижая затраты на исправление и улучшая качество конечного продукта.

Актуальность темы обусловлена высоким уровнем сложности и динамикой изменения требований к программному обеспечению. Ошибки в коде могут быть причиной серьезных проблем, включая финансовые потери, повышенные риски, потерю репутации и даже угрозы безопасности [2]. С использованием интеллектуальных систем может увеличиться скорость обнаружения ошибок и их устранения, что является критически важным в условиях современных разработок со сложной архитектурой и многогранной функциональностью [3].

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

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

Методы интеллектуального обнаружения ошибок

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

Статический анализ кода

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

Динамический анализ

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

Тестирование с использованием машинного обучения

Алгоритмы машинного обучения применяются для анализа и предсказания ошибок с использованием обучающих наборов данных. Эти методы могут помогать выявлять ошибки в коде, основываясь на правилах, извлеченных из анализа больших объемов данных о существующих ошибках.

Фаззинг

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

Тестирование на основе анализа покрытия кода

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

Контракты программирования

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

Автоматизированное тестирование

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

Инструменты для анализа зависимостей

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

Результаты исследования

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

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

Библиографический список
1. Мухаметзянов И.И., Зарипова Р.С. Прогнозирование и предотвращение кибератак с использованием искусственного интеллекта // Технологический суверенитет и цифровая трансформация. Международная научно-техническая конференция. Казань, 2024. С. 166-169.
2. Зарипова Р.С., Тарамов Ю.Х., Сугаипов С.-А.А. Кибербезопасность в коде: стратегии написания безопасного программного обеспечения // Экономика и предпринимательство. 2023. №12 (161). С. 919-921.
3. Хамитов Р.М., Шорина Т.В. Аспекты обеспечения качества программных продуктов / Научно-технический вестник Поволжья. 2023. № 12. С. 625-627.
4. Пырнова О.А., Никоноров Д.П., Шарифуллина А.Ю. Разработка статического анализатора программного кода // Научно-технический вестник Поволжья. 2023. № 12. С. 522-525.
5. Гизатуллин З.М., Гизатуллин Р.М., Нуриев М.Г., Назметдинов Ф.Р. Снижение электромагнитных помех и защита информации в вычислительной технике с помощью экранирующих стекол / Вестник Казанского государственного энергетического университета. 2017. № 3 (35). С. 46-57.
Информация об авторах

Юсупова Регина Ильдаровна – студентка 3 курса, Казанский государственный энергетический университет (420066, Россия, г. Казань, ул. Красносельская 51), e-mail: reginayusupova2805@yandex.ru

Зарянова Римма Солтановна – кандидат технических наук, доцент кафедры Цифровые системы и модели, Казанский государственный энергетический университет (420066, Россия, г. Казань, ул. Красносельская 51)

Цитирование статьи

×
Юсупова, Р. И. Интеллектуальное обнаружение ошибок в программном коде / Р. И. Юсупова, Р. C. Зарипова // Информационные технологии в строительных, социальных и экономических системах. – 2025. – № 1(35). – С. 91-94. – EDN CYKFHH.