Андрей Карпов
DevRel

Преждевременная оптимизация — зло! Да здравствует преждевременная оптимизация!

Конференция: C++Russia 2019 Piter.

Известно высказывание Дональда Кнута о том, что преждевременная оптимизация — это корень всех зол. На практике не всё так однозначно. На базе своего собственного опыта разработки статического анализатора кода Андрей и его команда пришли к выводу, что от неуклонной деградации производительности нас может спасти только преждевременная оптимизация всего, что можно. Спикер хочет поделиться своими соображениями и ...

1 ноября 2019 г.

Лекция 7. Статический анализ, как неотъемлемая часть разработки при написании программ на C++

На 7 лекции будут рассмотрены предпосылки необходимости использования статического анализа, достоинства и недостатки обзора кода, взаимосвязи в большом проекте и плотность ошибок в зависимости от размеров кодовой базы. Автор лекции расскажет о статическом анализе кода и примерах обнаруживаемых им ошибок, о статическом анализаторе кода PVS-Studio. Далее будет рассказано как пользоваться инструментами анализа кода правильно, а как ими пользовать...

30 сентября 2019 г.

Лекция 8. Стандарт кодирования PVS-Studio и приёмы при разработке эффективных С++ диагностик

На 8 лекции будет рассмотрен стандарт кодирования и зачем его нужно применять. Касательно стандарта кодирования будут затронуты общие положения, строки, именование переменных, именование типов, именование функций а также выравнивание кода. Еще будет рассказано о таких темах как табличное оформление сложного условия, разделяющие пробелы, комментарии и многое другое.

30 сентября 2019 г.

Лекция 11. Неопределённое поведение, или как выстрелить себе в ногу

На этой лекции автор поговорит о терминологии: что из себя представляет неопределённое и неуточнённое поведение. Обсудит несколько простых примеров неопределённого поведения, а также такие проблемы как выход за границу массива и отсутствие виртуального деструктора. В этой лекции будут затронуты такие темы как оператор delete, нулевые указатели, сдвиги, целочисленное переполнение (64-битные ошибки и контрольная сумма) и как писать более надёжны...

30 сентября 2019 г.

На что нужно обратить внимание при обзоре кода разрабатываемой библиотеки

Конференция: C++ Russia 2019.

Разработка библиотек — более ответственное дело, чем разработка прикладного программного обеспечения.

Разработчик не знает, как именно будет использоваться его библиотека, и должен обращать дополнительное внимание на мелкие детали и вопросы переносимости. Это заставляет по-новому взглянуть на использование таких функций, как realloc, exit, memset, memcmp. Заставляет быть более аккуратным при выборе типов данных и...

19 апреля 2019 г.

Что могут статические анализаторы, чего не могут программисты и тестировщики

Конференция: Heisenbug 2018.

Одной из технологий выявления ошибок на ранних этапах является статический анализ кода. К сожалению, ряд инструментов реализуют анализ весьма поверхностно, что снижает доверие к методологии статического анализа в целом. Некоторые программисты начинают думать, что анализ кода — это нечто, базирующееся на регулярных выражениях, и они сами легко найдут такие ошибки. На самом деле всё гораздо сложнее и интересней. Боле...

7 декабря 2018 г.

Паттерны 64-битных ошибок в играх

Конференция: DevGAMM 2018.

Написание на C и C++ 64-битных программ, работающих с большими массивами данных, требует особой аккуратности. В 64-битном коде встречаются особые трудноуловимые ошибки, о которых редко рассказывают в книгах или на конференциях. Автор рассмотрит паттерны 64-битных ошибок и даст рекомендации, как писать код, защищённый от них.

16 ноября 2018 г.

Опыт разработки статического анализатора кода

Конференция: YappiDays 2018.
Один из основателей проекта PVS-Studio расскажет об опыте разработки статического анализатора кода C++. У инструментов статического анализа кода существует "проблема айсберга". От пользователей скрыты сложные механизмы анализа кода, и иногда им кажется, что статические анализаторы – это просто какие-то утилиты, ищущие опечатки с помощью регулярных выражений.

Автор доклада постарается в общих чертах описать, как всё ...

3 ноября 2018 г.

SAST, борьба с потенциальными уязвимостями

Конференция: DevOpsConf 2018.
Доклад посвящен статическому анализу кода и ориентирован на тех, кто заинтересован в надёжности и безопасности разрабатываемого в компании программного кода. Условно можно выделить два направления статического тестирования защищённости приложений.

Первый - это поиск уже известных уязвимостей методом сопоставления с шаблоном. Такой подход имеет право на существование и может обнаружить в проекте код, взятый из старо...

1 октября 2018 г.

Эффективный C++ (Маерс тут ни при чём :)

Конференция: C++ Russia 2018.
Язык C++ и инфраструктура вокруг него продолжает активно развиваться, что делает этот язык одним из самых эффективных инструментов в настоящее время. Хочется выделить три фактора, делающие язык C++ сейчас столь привлекательным.

Первое: нововведения в стандарт языка, позволяющие писать эффективный код.

Второе: зрелость инструментов разработки и увеличение скорости сборки проектов.

Третье: зрелось вспомогательного ...

19 апреля 2018 г.


Найденные ошибки

Проверено проектов
384
Собрано ошибок
13 926

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;