Аннотация:Работа посвящена контролю корректности использования памяти в программах на C/C++. В рамках работы были описаны типы неправильного обращения к памяти и их причины, проанализированы существующие подходы и инструменты для контроля ошибок. В результате был разработан алгоритм, основанный на идее граничных указателей. и позволяющий обнаруживать ошибки доступа к памяти в программах на C/C++. Данный алгоритм был реализован в виде набора изменений исходного кода компилятора Clang/LLVM для архитектур x86 и x86_64.