A PHP Error was encountered

Severity: 8192

Message: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

Filename: mysql/mysql_driver.php

Line Number: 319

Увидел свет Релиз Clang с технологией SAFECode.

Увидел свет Релиз Clang с технологией SAFECode.


Рубрика: Новости Linux
Метки: |
Просмотров: 3082

Увидел свет 3 новый выпуск являющегося частью проекта LLVM компилятора Clang с технологией SAFECODE.

Эта технология предназначена для отслеживания возможных проблем работы с памятью в разрабатываемом приложении, при этом не изменяет поведение компилятора, когда неактивна. Включить её возможно ч/з указание специального ключа командной строки при сборке. Преимуществами в сравнении с подобным инструментом как Valgrind являются:

более информативные сообщения об ошибках;

возможность оптимизации некоторых run-time проверок;

отсутствие динамической трансляции как у Valgrind;

более точно определяет структуру утилиты, так как знает расположение границ отдельно взятого стека и обширных объектов (для поиска таких границ Valgrind использует эвристические методы).

Теперь технология дает возможность отслеживать разыменования указателей, которые могут вызвать переполнение буфера. В последующем планируется внести из проекта SAFECODE в Clang:

выявление некорректного доступа к памяти (указатели на несуществующий или удаленный объект);

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

определение эксплуатации неинициализированных указателей;

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

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

Clang это фронт-энд компиляторов С/С++, Objective-C, который разрабатывается на замену GCC в BSD-системах. Любопытен может оказаться к тому же большим корпорациям благодаря лицензии BSD. С помощью Clang уже удалось собрать ядро Линукс и фреймворк Qt.