Цикл статей про обзор дефектов кода музыкально софта продолжается. Вторым претендентом для анализа выбран аудиоредактор Audacity. Это программа очень популярна и широко используется, как любителями, так и профессионалами в музыкальной индустрии. В этой статье описание фрагментов кода будет дополнительно сопровождаться популярными мемами. Скучно не будет!
Читать полностью »
Рубрика «статический анализ кода» - 11
Обзор дефектов кода музыкального софта. Часть 2. Audacity
2017-10-11 в 6:58, admin, рубрики: Audacity, C, c++, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, Компиляторы, статический анализ кодаОбзор дефектов кода музыкального софта. Часть 1. MuseScore
2017-09-27 в 8:12, admin, рубрики: C, c++, musescore, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, Компиляторы, статический анализ кода
Программирование — занятие творческое, поэтому среди разработчиков встречается много талантливых людей, имеющих своеобразное хобби. Вопреки распространённому мнению, это не всегда программирование (ну или не только оно :D). На основе своего увлечения записью/обработкой музыки и профессиональной деятельности, я решил проверить качество кода популярных музыкальных программ с открытым исходным кодом. Первой для обзора выбрана программа для редактирования нот — MuseScore. Запасайтесь попкорном… серьёзных багов будет много!
Читать полностью »
Внедрение code style в существующий проект
2017-09-20 в 12:48, admin, рубрики: Code Style, IT-стандарты, php, sonarqube, Блог компании ZeroTech, Программирование, Разработка веб-сайтов, Совершенный код, статический анализ кода, управление разработкойВероятно, в любой команде рано или поздно возникает вопрос создания и утверждения стандартов кодирования. На первый взгляд, задача вполне тривиальная. Но лишь в том случае, когда решается на раннем этапе развития проекта. Тогда разработчикам необходимо лишь выбрать и применить один из популярных стандартов, и чаще всего этот выбор за них делает фреймворк, который они используют.
В нашем случае всё не так просто. Проект, над которым мы работаем, начал свою жизнь ещё до того, как различным стандартам и описаниям лучших практик в среде разработки стали уделять большое внимание. В том числе, задолго до появления столь популярных ныне PSR стандартов для PHP. По этим причинам задача стандартизации кода не ставилась на более ранних этапах, а теперь – предстала нашей команде в качестве вызова.
В этой публикации мы расскажем о том, как пришли к пониманию необходимости единого code style, и выработали методы его постепенного внедрения в масштабный проект. Этот опыт может быть интересен тем, кто пока не использует стандартизацию, но уже ощущает в этом потребность.
Философия статического анализа кода: три простых шага
2017-09-19 в 6:42, admin, рубрики: C#, c++, java, Блог компании PVS-Studio, статический анализ кода, Управление продуктом, управление проектами, управление разработкойФилософия статического анализа кода очень проста. Чем раньше будет найдена ошибка, тем дешевле ее исправление. Инструменты статического анализа реализуют эту философию в три шага.
Шаг первый. Для начала используйте статический анализ хоть как-нибудь. Если вы не использовали статический анализ ранее, то запускайте его хоть раз в месяц. Но запускайте. Ошибка, которую найдёте вы сами, стоит дешевле, чем ошибка, которую найдёт ваш клиент.
Мечтают ли WAF’ы о статанализаторах
2017-09-17 в 14:29, admin, рубрики: Application Firewall, Application Inspector, SAST, waf, Блог компании Positive Technologies, защита веб-приложений, информационная безопасность, статический анализ кодаОдна из самых популярных тенденций в области защиты приложений нынешнего десятилетия — технология виртуального патчинга (virtual patching, VP), позволяющая защитить веб-приложение от эксплуатации имеющихся в нем известных уязвимостей на уровне межсетевого экрана уровня веб-приложений (web application firewall; здесь и далее под WAF подразумевается выделенное решение, функционирующее на отдельном узле, между шлюзом во внешнюю сеть и веб-сервером). Технология VP основана на построении правил фильтрации HTTP-запросов на стороне WAF по результатам работы средств статического анализа защищенности приложения (static application security testing, SAST). Однако из-за того, что средства SAST и WAF опираются на различные модели представления приложения и различные методы принятия решений, на рынке до сих пор нет по-настоящему эффективных решений их интеграции. В рамках SAST работа с приложением осуществляется по модели белого ящика и, как правило, используются формальные подходы к поиску уязвимостей в коде. Для WAF же приложение представляет собой черный ящик, а для детектирования атак применяются эвристики. Это не позволяет эффективно использовать VP для защиты от атак в тех случаях, когда условия эксплуатации уязвимости выходят за рамки тривиальной схемы `http_parameter=plain_text_attack_vector`.
Но что, если «подружить» SAST и WAF таким образом, чтобы информация о внутреннем устройстве приложения, полученная с помощью SAST, стала доступной на стороне WAF и дала ему возможность детектировать атаки на обнаруженные уязвимости — не угадывая, но доказывая факт атаки?
Читать полностью »
По итогам Rambler.iOS #9
2017-09-05 в 14:45, admin, рубрики: iOS, iOS разработка, out of memory error, rambler.ios, Rambler&Co, swift, swift server side, Блог компании Rambler&Co, разработка мобильных приложений, разработка под iOS, статический анализ кода
Вот и лето прошло, словно и не бывало и голодные до знаний разработчики потянулись в школу, университет или на онлайн-курсы. Для них, а также для всех, интересующихся iOS-разработкой, мы подготовили отчет о митапе Rambler.iOS, который был анонсирован ранее.
Передаю привет разработчикам компании Yandex
2017-09-05 в 11:53, admin, рубрики: big data, bugs, c++, clickhouse, devops, open source, pvs-studio, secdevops, static code analyzer, Блог компании PVS-Studio, информационная безопасность, открытый исходный код, ошибки в коде, статический анализ кода, СУБД, яндекс
Приблизительно раз в полгода нам пишет кто-то из сотрудников компании Yandex, интересуется лицензированием PVS-Studio, качает триал и пропадает. Это нормально, мы привыкли к медленным процессам продажи нашего анализатора в крупные компании. Однако, раз представился повод, будет не лишним передать разработчикам Yandex привет и напомнить об инструменте PVS-Studio.
Читать полностью »
Как перешагнуть через legacy и начать использовать статический анализ кода
2017-08-31 в 6:58, admin, рубрики: legacy, legacy code, pvs-studio, sonarqube, static code analysis, Visual Studio, Блог компании PVS-Studio, Компиляторы, Разработка под Linux, разработка под windows, статический анализ кода
Проблемы legacy-кода знакомы подавляющему большинству разработчиков программного обеспечения. Процесс превращения кода в legacy неизбежен, ведь прогресс в программировании не стоит на месте. Проекты либо «умирают» навсегда, либо требуют постоянной поддержки и написания новых функций. Таким образом, в любом проекте на любом языке программирования legacy-код возникает и доставляет разные неудобства при дальнейшей разработке. На примере PVS-Studio, в этой статье я расскажу, как сразу начать использовать статический анализатор кода в своём проекте.
Читать полностью »
Борьба с хардкодами при помощи статических анализаторов С#
2017-08-22 в 7:11, admin, рубрики: .net, C#, roslyn, Анализ и проектирование систем, Программирование, Совершенный код, статический анализ кодаВ этой статье я расскажу, как мы написали собственные анализаторы кода и чистим с их помощью нашу кодовую базу .net от наиболее острых / частых косяков. Главный посыл — сделать это довольно просто, не бойтесь писать свои анализаторы для борьбы с именно вашими багами. Вторичный посыл — попробуйте наши анализаторы и сообщите о результатах. Полное руководство я писать не буду, их довольно много в интернете, а вот небольшой обзор, что это как и с какими проблемами я столкнулся, надеюсь, окажется вам полезным.
Читать полностью »
Характеристики анализатора PVS-Studio на примере EFL Core Libraries, 10-15% ложных срабатываний
2017-07-31 в 14:12, admin, рубрики: C, c/c++, c++, efl, EFL Core Libraries, open source, pvs-studio, PVS-Studio for Linux, Блог компании PVS-Studio, Графические оболочки, ошибки в коде, Разработка под Linux, Си, си/си++, статический анализ кода
После большой статьи про проверку операционной системы Tizen мне было задано много вопросов о проценте ложных срабатываний и о плотности ошибок (сколько ошибок PVS-Studio выявляет на 1000 строк кода). Мои рассуждения о том, что это сильно зависит от анализируемого проекта и настроек анализатора не выглядят как настоящий ответ. Я решил привести конкретные числа, проведя более тщательное исследование одного из проектов, входящих в состав Tizen. Поскольку в обсуждении статьи активное участие принимал Carsten Haitzler, я решил, что будет интересно взять для эксперимента EFL Core Libraries, в разработке которого он участвует. Надеюсь, эта статья поможет Carsten стать поклонником нашего анализатора :).
Читать полностью »