title: ÐÑÑÐ²Ð»ÐµÐ½Ð¸Ðµ Ð¾ÑÐ¸Ð±Ð¾Ðº Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ ÑÐ¸Ð¼Ð²Ð¾Ð»ÑÐ½Ð¾Ð³Ð¾ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð° Ð¾ÑÐ½Ð¾Ð²Ðµ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¸Ð¸
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° ÑÐ¿ÐµÑÐ¸Ð°Ð»Ð¸ÑÑÐ°
titleType: Subtitle
title: Identification of software errors using the technology of symbolic execution based on compilation
Creators: name: ÐÐ¸ÐºÐ¾Ð»Ð°ÐµÐ², ÐÐ¸ÑÐ°Ð¸Ð»
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2022
Subjects: Ð¾ÑÐ¸Ð±ÐºÐ¸ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ
ÑÐ°Ð·Ð·Ð¸Ð½Ð³
ÑÐ¸Ð¼Ð²Ð¾Ð»ÑÐ½Ð¾Ðµ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ
Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½ÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»ÑÐ½Ð¾Ð³Ð¾ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ
ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¸Ñ
Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸Ð·Ð°ÑÐ¸Ñ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ
Software errors
fuzzing
symbolic execution
symbolic execution tools
compilation-based symbolic execution
test automation

description: ÐÑÐµÐ´Ð¼ÐµÑÐ¾Ð¼ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²ÑÐ¿ÑÑÐºÐ½Ð¾Ð¹ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÑ ÑÐ²Ð»ÑÐµÑÑÑ Ð¿Ð¾Ð¸ÑÐº Ð¾ÑÐ¸Ð±Ð¾Ðº Ð¸ ÑÑÐ·Ð²Ð¸Ð¼Ð¾ÑÑÐµÐ¹ Ð² Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð¼ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ð¸. ÐÐ°Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¿Ð¾ÑÐ²ÑÑÐµÐ½Ð° Ð¿Ð¾Ð²ÑÑÐµÐ½Ð¸Ñ ÑÑÑÐµÐºÑÐ¸Ð²Ð½Ð¾ÑÑÐ¸ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾ÑÑÐ¸ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ Ð·Ð° ÑÑÐµÑ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ ÑÐ¸Ð¼Ð²Ð¾Ð»ÑÐ½Ð¾Ð³Ð¾ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ. ÐÑÐ»Ð¾ Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ð¾ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ðµ ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ñ Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½ÑÐ¾Ð² ÑÐ¸Ð¼Ð²Ð¾Ð»ÑÐ½Ð¾Ð³Ð¾ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ. Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ ÑÐºÑÐ¿ÐµÑÐ¸Ð¼ÐµÐ½ÑÐ°Ð»ÑÐ½ÑÑ Ð¾Ð¿ÑÑÐ¾Ð² Ð±ÑÐ»Ð¾ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾, ÑÑÐ¾ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ Ð¿Ð¾Ð´ÑÐ¾Ð´ÑÑÐ¸Ð¹ Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½Ñ Ð´Ð»Ñ Ð´Ð°Ð»ÑÐ½ÐµÐ¹ÑÐ¸Ñ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ð¹ ÑÐ²Ð»ÑÐµÑÑÑ Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½Ñ ÑÐ¸Ð¼Ð²Ð¾Ð»ÑÐ½Ð¾Ð³Ð¾ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð° Ð¾ÑÐ½Ð¾Ð²Ðµ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑÐ¸Ð¸. ÐÑÐ»Ð¸ Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ñ ÑÐ°Ð±Ð¾ÑÑ Ð¿Ð¾ Ð²Ð½ÐµÐ´ÑÐµÐ½Ð¸Ñ Ð¾Ð¿ÑÐ¸Ð¼Ð¸Ð·Ð°ÑÐ¸Ð¹, Ð° ÑÐ°ÐºÐ¶Ðµ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾ÐºÑÑÐ¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸Ð·Ð°ÑÐ¸Ð¸ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ. ÐÑÐ»Ð° ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð° Ð¼ÐµÑÐ¾Ð´Ð¸ÐºÐ° ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ, Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð½Ð° Ð°Ð½Ð°Ð»Ð¸Ð·Ðµ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½ÑÑ Ð²ÑÐ²Ð¾Ð´Ð¾Ð². Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ, Ð±ÑÐ»Ð° Ð²Ð½ÐµÐ´ÑÐµÐ½Ð° ÑÐºÑÐ¿ÐµÑÐ¸Ð¼ÐµÐ½ÑÐ°Ð»ÑÐ½Ð°Ñ Ð¼ÐµÑÐ¾Ð´Ð¸ÐºÐ° ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ. ÐÑÐ»Ð¾ Ð¿ÑÐ¾Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð¾ Ð¾Ð±ÑÐµÐ¸Ð·Ð²ÐµÑÑÐ½Ð¾ÐµÐ¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾ÐµÐ¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ðµ, Ð² ÐºÐ¾ÑÐ¾ÑÐ¾Ð¼ Ð±ÑÐ»Ð¸ Ð½Ð°Ð¹Ð´ÐµÐ½Ñ 1 ÐºÑÐ¸ÑÐ¸ÑÐµÑÐºÐ°Ñ Ð¾ÑÐ¸Ð±ÐºÐ° Ð¸ 1 ÑÑÐµÑÐºÐ° Ð¿Ð°Ð¼ÑÑÐ¸. ÐÐ±Ð»Ð°ÑÑÑÑ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð½ÑÑ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐ¾Ð² ÑÐ²Ð»ÑÑÑÑÑ ÑÐ¸ÑÑÐµÐ¼Ñ Ð¿Ð¾Ð¸ÑÐºÐ° Ð¾ÑÐ¸Ð±Ð¾Ðº Ð¸ ÑÑÐ·Ð²Ð¸Ð¼Ð¾ÑÑÐµÐ¹ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ Ð¡/C++Ñ Ð¾ÑÐºÑÑÑÑÐ¼ Ð¸ÑÑÐ¾Ð´Ð½ÑÐ¼ ÐºÐ¾Ð´Ð¾Ð¼.
description: The subject of the graduate qualification work is Â«Identification of software errors using the technology of symbolic execution based on compilationÂ». The subject of research of the final qualification work is the search for errors and vulnerabilities in the software review. This work is devoted to increasing the efficiency of security testing through symbolic execution technology. A comparison was made of existing symbolic execution tools. As a result of experimental experiments, it was found that the most suitable tool for further researchis the compilation-based symbolic execution tool. Work wascarried out to introduce optimizations, as well as to develop a software environment for test automation. A testing methodology based on the analysis of program outputs was implemented. As a result, an experimental software testing methodology was introduced. Well-known software was analyzed, in which 1 critical error and 1 memory leak were found. The scope is the results of the search engineC/C++ software errors and vulnerabilities with source code.