Как стать автором
Обновить
119
0
Святослав @SvyatoslavMC

Product Manager

Отправить сообщение

Обзор дефектов кода музыкального софта. Часть 5. Steinberg SDKs

Время на прочтение8 мин
Количество просмотров4.3K


Я продолжаю обзор кода музыкальных приложений, и перед нами первый представитель коммерческого программного обеспечения. В комментариях к предыдущим статьям я заметил популярность программы Cubase и решил почитать о ней. Это продукт компании Steinberg, у которой есть несколько программ с закрытым исходным кодом. Случайно на их сайте я нашёл SDK для сторонних разработчиков, и, изучив его, обнаружил множество интересных ошибок.
Читать дальше →
Всего голосов 27: ↑22 и ↓5+17
Комментарии4

Обзор дефектов кода музыкального софта. Часть 4. Ardour

Время на прочтение11 мин
Количество просмотров7.3K


Ardour пока является самым крупным из музыкальных проектов, участвующих в обзоре дефектов кода. Проект включает около 1000 файлов исходного кода на языке C++. Проект активно поддерживается сообществом разработчиков, при этом я не нашёл упоминаний об использовании каких-либо инструментов статического анализа. Как следствие — множество ошибок разного характера. В статье будут описаны самые интересные из них.
Читать дальше →
Всего голосов 33: ↑28 и ↓5+23
Комментарии10

Отчёт PVS-Studio теперь в Html формате

Время на прочтение2 мин
Количество просмотров3K

Picture 2

В анализаторе PVS-Studio уже давно существовал Html отчёт, но он был настолько простым, что годился только для ознакомления с результатами анализа маленького объёма, например, по электронной почте. В этой заметке я расскажу, как был переработан этот формат и какие новые возможности он открывает для пользователей анализатора.
Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии3

Обзор дефектов кода музыкального софта. Часть 3. Rosegarden

Время на прочтение14 мин
Количество просмотров7.8K


Программы для работы с музыкой имеют маленький объём кода и, поначалу, я сомневался в возможности находить достаточное количество ошибок для статей. Тематику музыкального софта всё равно хотелось затронуть, поэтому я был готов объединять несколько проектов в статье. И вот я пишу уже третью статью, стараясь хоть как-то вместить интересные ошибки в одну статью. Третьим проектом для анализа выбран MIDI-секвенсор и нотный редактор — Rosegarden. Внимание! Прочтение статьи вызывает «Facepalm»!
Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии54

Обзор дефектов кода музыкального софта. Часть 2. Audacity

Время на прочтение7 мин
Количество просмотров11K


Цикл статей про обзор дефектов кода музыкально софта продолжается. Вторым претендентом для анализа выбран аудиоредактор Audacity. Это программа очень популярна и широко используется, как любителями, так и профессионалами в музыкальной индустрии. В этой статье описание фрагментов кода будет дополнительно сопровождаться популярными мемами. Скучно не будет!
Мемасики под катом...
Всего голосов 34: ↑29 и ↓5+24
Комментарии23

Обзор дефектов кода музыкального софта. Часть 1. MuseScore

Время на прочтение14 мин
Количество просмотров9.1K


Программирование — занятие творческое, поэтому среди разработчиков встречается много талантливых людей, имеющих своеобразное хобби. Вопреки распространённому мнению, это не всегда программирование (ну или не только оно :D). На основе своего увлечения записью/обработкой музыки и профессиональной деятельности, я решил проверить качество кода популярных музыкальных программ с открытым исходным кодом. Первой для обзора выбрана программа для редактирования нот — MuseScore. Запасайтесь попкорном… серьёзных багов будет много!
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии51

Как перешагнуть через legacy и начать использовать статический анализ кода

Время на прочтение8 мин
Количество просмотров7.5K


Проблемы legacy-кода знакомы подавляющему большинству разработчиков программного обеспечения. Процесс превращения кода в legacy неизбежен, ведь прогресс в программировании не стоит на месте. Проекты либо «умирают» навсегда, либо требуют постоянной поддержки и написания новых функций. Таким образом, в любом проекте на любом языке программирования legacy-код возникает и доставляет разные неудобства при дальнейшей разработке. На примере PVS-Studio, в этой статье я расскажу, как сразу начать использовать статический анализатор кода в своём проекте.
Читать дальше →
Всего голосов 27: ↑21 и ↓6+15
Комментарии17

Головная боль от использования математического софта

Время на прочтение13 мин
Количество просмотров19K

Picture 2


Так получилось, что в один период времени я обсуждал в интернете, казалось бы, разные темы: бесплатные альтернативы Matlab для университетов и студентов, и поиск ошибок в алгоритмах с помощью статического анализа кода. Все эти обсуждения объединило ужасное качество кода современных программ. В частности, качество софта для математиков и учёных. Тут же возникает вопрос о доверии к расчётам и исследованиям, проведённым с помощью таких программ. Попробуем поразмыслить на эту тему и поискать ошибки.
Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии45

Notepad++: проверка кода пять лет спустя

Время на прочтение13 мин
Количество просмотров40K
Picture 1

В этом году статическому анализатору PVS-Studio исполнилось 10 лет. Правда, стоит уточнить, что 10 лет назад он назывался Viva64. И есть ещё одна интересная дата: прошло 5 лет с момента предыдущей проверки кода проекта Notepad++. С тех пор PVS-Studio был очень сильно доработан: добавлено около 190 новых диагностик, усовершенствованы старые. Впрочем, ожидать огромного количества ошибок в Notepad++ не стоит. Это небольшой проект, состоящий всего из 123 файлов с исходным кодом. Тем не менее, в коде найдены ошибки, которые будет полезно исправить.
Читать дальше →
Всего голосов 97: ↑89 и ↓8+81
Комментарии171

Серьёзные ошибки в коде CryEngine V

Время на прочтение15 мин
Количество просмотров17K


В мае 2016 года немецкая компания Crytek решила опубликовать на GitHub исходный код игрового движка CryEngine V. Проект находится в стадии активной разработки, что влечёт за собой появление множества ошибок в коде. Мы уже проверяли проект с помощью PVS-Studio для Windows, а теперь смогли проверить проект с помощью PVS-Studio для Linux. Материала снова набралось на большую статью с описанием только очень серьёзных ошибок.
Читать дальше →
Всего голосов 58: ↑51 и ↓7+44
Комментарии30

Топ 10 ошибок в открытых проектах С++ за 2016 год

Время на прочтение6 мин
Количество просмотров17K


Пока во всём мире обсуждают 89-ю церемонию вручения наград премии «Оскар» и составляют различные рейтинги актёров и их костюмов, мы решили подготовить обзорную статью в IT-сфере. Речь пойдёт о самых интересных ошибках, допущенных в проектах с открытым исходным кодом в 2016 году. Этот год был примечателен тем, что наш анализатор PVS-Studio стал доступен и в операционных системах, основанных на Linux. Представленные ошибки наверняка уже исправлены, и каждый читатель может убедиться в серьёзности ошибок, которые допускают разработчики.
Читать дальше →
Всего голосов 49: ↑44 и ↓5+39
Комментарии28

Предложи проект для проверки анализатором PVS-Studio: теперь и на GitHub

Время на прочтение2 мин
Количество просмотров4.2K
Picture 5

Проверка проектов с помощью статического анализатора и написание обзорных статей с найденными в них ошибками – задача не из лёгких. Почти всегда это работа не одного человека, а коллектива. Большую роль в этом процессе играет выбор проекта. От него напрямую зависит интерес читателей к той или иной статье. В этой заметке я хочу рассказать, как можно предложить интересный проект для анализа через GitHub.
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии28

Переход с CruiseControl.NET на Jenkins в команде разработчиков PVS-Studio

Время на прочтение11 мин
Количество просмотров9.4K
Picture 1

Сейчас трудно представить разработку программного обеспечения без автоматизированных сборок проекта и тестирования. Для минимизации временных затрат на интеграцию изменений разработчиков в проект, существуют разные готовые решения. В данной статье я расскажу о замене сервера непрерывной интеграции CruiseControl.NET на Jenkins в команде разработчиков PVS-Studio. А также о том, что нас к этому побудило, какие цели мы преследовали и с какими проблемами столкнулись.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии23

Как создавался PVS-Studio под Linux

Время на прочтение13 мин
Количество просмотров7.9K

В этом году мы начали делать то, к чему у нас долгое время было спорное отношение, а именно — адаптацию продукта PVS-Studio к Linux системе. В статье я расскажу о том, как спустя 10 лет существования анализатора PVS-Studio для Windows, мы решили сделать продукт для дистрибутивов Linux. Это большая работа, не ограничивающаяся, к сожалению, как думает ряд программистов, исключительно компиляцией исходников под целевую платформу.
Читать дальше →
Всего голосов 42: ↑36 и ↓6+30
Комментарии18

Долгожданная проверка CryEngine V

Время на прочтение27 мин
Количество просмотров30K
В мае 2016 года немецкая компания Crytek решила опубликовать на Github исходный код игрового движка CryEngine V. Игровой движок написан на языке C++ и сразу привлёк внимание как сообщества open-source разработчиков, так и команду разработчиков статического анализатора PVS-Studio, выполняющую проверку качества кода открытых проектов. На CryEngine разных версий сделано много отличных игр от разных игровых студий, и теперь движок стал доступен ещё большему числу разработчиков. Статья содержит обзор ошибок, выявленных с помощью статического анализатора кода.
Читать дальше →
Всего голосов 54: ↑47 и ↓7+40
Комментарии65

Проверка проекта OpenJDK с помощью PVS-Studio

Время на прочтение13 мин
Количество просмотров11K
Соавтор: Роман Фомичёв.

В настоящее время многие проекты открывают свой исходный код и разрешают делать изменения в нем сообществу заинтересованных разработчиков. Мы проверим один из таких проектов — OpenJDK, и поможем разработчикам улучшить их код.

Введение


OpenJDK (Open Java Development Kit) — проект по созданию реализации платформы Java (Java SE), состоящий исключительно из свободного и открытого исходного кода. Проект стартовал в 2006 году усилиями компании Sun. В проекте используются несколько языков — C, C++ и Java. Нас интересуют исходные коды написанные на С и С++. Для проверки возьмем 9-ю версию OpenJDK. Код этой реализации Java платформы доступен в репозитории Mercurial.
Читать дальше →
Всего голосов 38: ↑31 и ↓7+24
Комментарии17

Логические выражения в C/C++. Как ошибаются профессионалы

Время на прочтение5 мин
Количество просмотров48K
Логическое выражение в программировании — конструкция языка программирования, результатом вычисления которой является «истина» или «ложь». Во многих книгах по программированию, предназначенных для изучения языка «с нуля», приводятся возможные операции над логическими выражениями, с которыми сталкивался каждый начинающий разработчик. В этой статье я не буду рассказывать, что оператор 'И' приоритетнее оператора 'ИЛИ'. Я расскажу о распространённых ошибках в простых условных выражениях, состоящих всего из трёх операторов, и покажу, как можно проверить свой код с помощью построения таблиц истинности. Описанные ошибки делают разработчики таких известных проектов как FreeBSD, Microsoft ChakraCore, Mozilla Thunderbird, LibreOffice и многих других.
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии46

Плохой код пакета для создания 2D-анимаций Toonz

Время на прочтение15 мин
Количество просмотров13K
На днях стало известно о том, что Digital Video, создатели проекта TOONZ, и японский издатель DWANGO подписали соглашение о приобретении компанией DWANGO проекта Toonz, программного обеспечения для создания 2D анимации.

По условиям соглашения, подписанного между сторонами, будет открыт общий доступ к OpenToonz, проекту, разработанному компанией Toonz. Он так же будет включать некоторые элементы, разработанные Studio Ghibli, которые в свою очередь являются активными пользователями этих программ. С их помощью, например, Studio Ghibli создавали «Ходячий замок Хоула», «Унесенных призраками», «Рыбку Поньо», а также множество других картин. В их числе так же мультфильм «Футурама», который вдохновил меня на написание этой разоблачающей статьи про исходный код OpenToonz.
Читать дальше →
Всего голосов 39: ↑37 и ↓2+35
Комментарии23

Проверка исходного кода игрового движка Serious Engine v.1.10 к юбилею шутера Serious Sam

Время на прочтение11 мин
Количество просмотров26K

К юбилею выхода шутера от первого лица Serious Sam, который состоялся в марте 2016 года, разработчики игры из хорватской компании Croteam решили открыть исходный код игрового движка Serious Engine 1 v.1.10. Он заинтересовал много разработчиков, которые захотели изучить и улучшить движок. Я тоже решил поучаствовать в улучшении кода и подготовил статью с обзором ошибок, найденных с помощью статического анализатора PVS-Studio.
Читать дальше →
Всего голосов 42: ↑36 и ↓6+30
Комментарии24

Свежий взгляд на код Oracle VM VirtualBox

Время на прочтение13 мин
Количество просмотров33K
Виртуальные машины — важный инструмент в арсенале разработчика программного обеспечения. Мой интерес к коду VirtualBox вызван личным использованием этого продукта для проверки открытых проектов, а также для других разных задач, связанных с использованием нескольких операционных систем. Первая проверка этого проекта состоялась в 2014 году, тогда описание около 50 ошибок едва уместилось в двух статьях. C выходом Windows 10 и VirtualBox 5.0.XX, на мой взгляд, стабильность работы программы заметно ухудшилась. Поэтому я решил проверить проект ещё раз.
Читать дальше →
Всего голосов 55: ↑51 и ↓4+47
Комментарии24

Информация

В рейтинге
Не участвует
Работает в
Дата рождения
Зарегистрирован
Активность