Перевірка Bitcoin

    Bitcoin, PVS-Studio
Нічого епічного в цій статті не буде. Ми перевірили за допомогою PVS-Studio вихідний код Bitcoin. Знайшли всього пару підозрілих місць. Це не дивно. Думаю, ці вихідні коди не перевіряв тільки ледачий. Але раз перевірили, то вирішив написати маленьку замітку. Так би мовити, «для галочки».
 
Читати далі →

Для новачків про stdafx.h

    StdAfx.h, Precompiled headers
Стаття розрахована на людей, які знайомляться з середовищем Visual Studio і намагаються компілювати в ній свої Сі + +-проекти. У незнайомому середовищі все здається дивним і незрозумілим. Особливо новачків дратує файл stdafx.h, через якого виникають дивні помилки під час компіляції. Дуже часто все закінчується тим, що новачок довгий час скрізь старанно відключає Precompiled Headers. Щоб допомогти людям розібратися що до чого, і була написана ця стаття.
 
Читати далі →

Команда PVS-Studio і CppCat розширює кругозір, виконуючи розробку на замовлення

    Outsourcing
Як ви знаєте, основна наша діяльність — це розробка аналізаторів коду PVS-Studio і CppCat. І хоча ми давно і, як нам здається, успішно цим займаємося, недавно у нас з'явилася незвичайна думка. Все-таки ми не користуємося своїми інструментами в тому режимі, що і наші клієнти. Ні, звичайно, ми перевіряємо код PVS-Studio за допомогою PVS-Studio. Але відверто кажучи, проект PVS-Studio не такий вже великий. І робота з кодом PVS-Studio за стилем та характером відрізняється від, наприклад, роботи з кодом Chromium або LLVM.
 
Нам хотілося побувати в шкурі своїх клієнтів для того, щоб зрозуміти, як наш інструмент використовується в довгострокових проектах. Адже перевірки проектів, які ми робимо регулярно і, про які пишемо багато статей , це якраз той стиль використання аналізатора, проти якого ми активно виступаємо. Неправильно запустити разово аналізатор на проекті, виправити кілька помилок і повторити це через рік. При написанні коду аналізатор треба використовувати регулярно, щодня.
 
Ну да ладно, до чого це все? Наші теоретичні бажання спробувати себе в інших проектах збіглися з практичними пропозиціями, які поступово стали до нас надходити. Минулого року ми вирішили виділити у нас в компанії команду, яка б займалася — о жах! — Розробкою на замовлення. Тобто брала участь у сторонніх проектах в якості програмістів. Причому нам було цікаво брати участь в довгострокових і досить великих проектах, тобто не менше 2-3 розробників та не менше 6 місяців розробки. У нас було дві мети:
     
  • спробувати альтернативний тип бізнесу (замовлену розробку крім продуктової розробки);
  •  
  • самим подивитися на використання PVS-Studio в довгострокових проектах.
  •  
І перша, і друга задача виявилися вдалими. Але ця стаття не про бізнес по замовний розробці, а про наш досвід. Мається на увазі не організаційний досвід. Про це і так багато статей. Про досвід роботи з кодом чужих проектів. Про це ми і хочемо розповісти.
 
Читати далі →

Легко і просто перевіряємо Firefox за допомогою PVS-Studio Standalone

    PVS-Studio and Firefox
Три роки тому ми вже перевіряли Mozilla Firefox за допомогою аналізатора PVS-Studio. Тоді це було незручно і важко. Для Firefox відсутня проектний файл для Visual Studio. Збірка здійснюється за допомогою make-файлів. Тому просто взяти і перевірити проект не можна. Було потрібно інтегрувати PVS-Studio в систему збирання, що виявилося важким завданням. У результаті, як мені пам'ятається, була проаналізована тільки частину проекту. Але все змінилося, коли з'явився PVS-Studio Standalone. Тепер можна відстежити всі запуски компіляторів і легко перевірити проект.
 
Читати далі →

CppCat провереяет OpenMW: у всесвіті Morrowind не все гладко

    CppCat провереяет OpenMW
Я перевірив проект OpenMW за допомогою CppCat і написав цю крихітну статтю. Знайшлося занадто мало помилок. Але мене просили написати про перевірку цього проекту статтю, і ось вона.
 
Читати далі →

Порівняння можливостей статичних аналізаторів коду PVS-Studio і CppCat

    PVS-Studio vs CppCat
Наша компанія розробляє два аналізатора коду для перевірки проектів на мові Сі / Сі + +: PVS-Studio і CppCat. У статті розповідається, чим відрізняються функціональні можливості цих інструментів.
 
Читати далі →

Довгоочікувана перевірка Unreal Engine 4

  Unreal Engine 4 and PVS-Studio
 
19 березня 2014 Unreal Engine 4 став доступний для всіх бажаючих. Ціна передплати всього 19 $ на місяць. Вихідні коди також викладені на github репозиторій. З цього моменту нам надійшла маса повідомлень на пошту, в твіттер і так далі, з проханням перевірити цей ігровий движок. Ми задовольняємо прохання наших читачів. Давайте подивимося, що цікавого можна знайти у вихідному коді з допомогою статичного аналізатора коду PVS-Studio.
 
 
Читати далі →

PVS-Studio і 3DO-емулятори

  Picture 2
Зарікався більше не торкатися емуляції 3DO консолі, каюсь. Але тут у мене з'явилася можливість попрацювати з такою екзотичною штукою як статичний аналізатор коду, а саме PVS-Studio . Перше на чому я вирішив випробувати аналізатор звичайно ж став мій емулятор консолі 3DO (Phoenix Project). На початку 90-х була така приставка, перша 32-х бітна консоль з CD-приводом, пам'ятаю нам з братом її батько з Москви привіз, з тих пір ніяк відірватися не можу :-). Ну а раз підвернувся випадок, то за одне і всі основні проекти з емуляції 3DO перевіримо. Отже, поїхали…
 
Читати далі →

Математикам довіряй, але перевіряй

  PVS-Studio. You shall not pass!
Я часом буваю спантеличений, розглядаючи помилки в черговому проекті Програми. Багато з цих помилок живуть в проектах роками. Дивишся на сотню ляпів в коді і дивуєшся, як програма взагалі працює. І адже якось працює. Їй навіть користуються. Причому, я говорю не про код, рісующем покемона в грі. А, наприклад, про математичні бібліотеках. Так, ви вірно здогадалися. У цій статті піде мова про перевірку коду математичної бібліотеки Scilab.
 
Читати далі →