История изменений
Исправление SZT, (текущая версия) :
Мне вот интересно, вы постоянно пишите обзоры на всякие обнаруженные баги в разных опенсорсных проектах, но почему я не увидел ни одной статьи насчет того, как именно работает под капотом эта ваша PVS студия? Чтоб выявить ряд ошибок, которые ваша PVS студия выявляет, фактически надо реимплементировать часть компилятора, делать вещи наподобии constant folding и constant propagation, строить всякие абстрактные синтаксические деревья. Например если есть код
if (a == 1 && ((a << 1) == 1))
{
некое_действие();
}
Исходная версия SZT, :
Мне вот интересно, вы постоянно пишите обзоры на всякие обнаруженные баги в разных опенсорсных проектах, но почему я не увидел ни одной статьи насчет того, как именно работает под капотом эта ваша PVS студия. Чтоб выявить ряд ошибок, которые ваша PVS студия выявляет, фактически надо реимплементировать часть компилятора, делать вещи наподобии constant folding и constant propagation. Например если есть код
if (a == 1 && ((a << 1) == 1))
{
некое_действие();
}