-
27.01.2012
В этой короткой заметке автор рассказывает о своем опыте использования двух статических анализаторов кода, каждый из которых предоставляет собственную методику анализа: Address Sanitizer (ASan) и Clang Static Analyzer.
-
06.01.2012
Данный пост посвящен ложному представлению о том, что инструменты статического анализа являются инструментами тестирования кода или могут служить хорошей заменой таковым. Автор объясняет разницу между различными видами тестирования и методикой статического анализа, раскрывая суть последнего и его роль в разработке. Он согласен, что статические анализаторы необходимы, но они предназначены для выявления "узкого диапазона дефектов кода".
-
13.12.2011
В этой заметке автор дает некоторые советы о том, как выбрать подходящий статический анализатор для ваших проектов. Эти советы помогут вам сделать правильный выбор с максимальной пользой для себя.
-
07.11.2011
Заметка отсылает читателя к статье Coverity, в которой описываются достоинства статического анализа и упоминаются три метода, которые он в себя включает: анализ потока данных, межпроцедурный анализ и сокращение ложных веток кода. Каждая методика поясняется на примере фрагмента кода.
-
05.10.2011
Статический анализ включает в себя множество методик, каждая из которых помогает разработчику в поиске разнообразных ошибок и проблем на разных стадиях процесса разработки. В своей статье Артур Хикен описывает данные методики (просмотр кода, анализ на основе паттернов, анализ потока данных, метрики, сообщения компилятора), а также виды проблем, которые решаются с их помощью.
-
11.09.2011
Статья посвящена анализатору C++ кода, интегрированному в среду разработки Visual Studio 2012. Автор описывает реализованные в новой версии улучшения и приводит несколько примеров кода, чтобы показать, как работает инструмент, а также продемонстрировать некоторые его функции. Текст содержит скриншоты, поясняющие принципы работы с анализатором.
-
01.09.2011
Статья посвящена технологии статического анализа. В ней объясняется принцип работы статических анализаторов, а также описываются различные методики, составляющие эту технологию. Среди них выделяются поиск соответствия по шаблонам ошибок, анализ потока данных, абстрактная интерпретация кода, проверка состояний программы и выдача запросов по коду. Также автор перечисляет инструменты, специализирующиеся в каждой из этих методик. Информация, приведенная в статье, может использоваться студентами для создания собственных инструментов.
-
27.07.2011
Соблюдение стандартов кодирования, принятых в той или иной компании или команде разработчиков, помогает избежать ошибок и сконцентрироваться на более общей и эффективной проверке кода. К сожалению, из-за человеческого фактора код очень часто не соответствует установленным правилам, поэтому необходимо использовать методики автоматического соблюдения стандартов кодирования. В статье описываются два распространенных инструмента статического анализа, которые помогут решить данную задачу – PC-Lint и RSM.
-
22.06.2011
Статья содержит интервью с Джилл Бриттон, которая рассказывает о тенденциях в области статического анализа, наиболее распространенных проблемах, с которыми компания сталкивается в процессе тестирования кода, методиках тестирования приложений в различных сферах и эксклюзивном методе анализа кода, разработанном компанией PRQA.
-
04.06.2011
В своей статье Магнус Юнмир затрагивает вопрос недостатка современных инструментов для разработчиков встраиваемого ПО. По его словам, по мере того как системы встраиваемого ПО становятся все более сложными, инструменты, призванные помочь разработчикам, до сих пор остаются на уровне двадцатилетней давности, помогая решать лишь самые общие задачи (редактирование, компиляция и отладка), вместо того, чтобы становится более гибкими, функциональными и способными решать больший круг вопросов. Среди последних автор выделяет предварительное графическое представление кода, отслеживание изменений в коде и создание систем контроля версий, отслеживание отчетов об ошибках, автоматизированную разработку юнит-тестов и многое другое.
-
01.06.2011
Автор данной статьи дает советы, как повысить качество встраиваемых приложений, используя статический анализ. Эти рекомендации включают в себя создание моделей качества ПО и приоритетных целей разработки, использование сокращенных версий языков, соответствующих стандартам кодирования, и проверку программы на наличие ошибок в процессе ее выполнения.
-
20.05.2011
Статья посвящена методу ревизии кода: она описывает принципы, типы, этапы и уровни этого процесса, а также инструменты, которые используются при ревизии кода. Кроме того, автор приводит список примеров, демонстрирующих наиболее типичные ошибки программирования разных видов.
-
07.05.2011
Статья посвящена инструменту FlexeLint, который, по словам автора, является одним из лучших и наиболее дешевых статических анализаторов C и C++ кода. В тексте содержится большое количество примеров кода, иллюстрирующих ошибки, которые инструмент может находить, а также некоторые его особенности.
-
04.04.2011
Компания Microsoft добавила новую функцию Анализ Кода в среду разработки Visual Studio 2010. Данная функция осуществляет статический анализ кода, что поможет разработчикам выявить разнообразные потенциальные проблемы на различных уровнях. Данный курс предназначен для ознакомления разработчиков с функцией Анализ Кода и предлагает изучить принципы работы с этой функцией, выполнив несколько упражнений.
-
22.03.2011
Автор стремится развенчать миф, гласящий, что статический анализ дает 100% покрытие кода и может находить любые уязвимости и дефекты. Он приводит несколько примеров ситуаций, в которых статический анализ не поможет или не справится должным образом. В основном эти ситуации сводятся к анализу стороннего (внешнего) кода, к которому нет прямого доступа для проверки.
-
27.02.2011
В своей заметке автор затрагивает тему инструментов статического анализа кода для осуществления ревизии кода в качестве альтернативы формальным методам. Он дает советы о том, как использовать эти инструменты в зависимости от нужд и обстоятельств.
-
31.01.2011
Поскольку инструменты статического анализа способны обнаруживать уязвимости защиты в исходном коде, многие компании, осваивающие данную технологию, испытывают сильную потребность в сравнении различных статических анализаторов с целью выбрать наилучшее решение. Гэри МакГро объясняет, почему эта задача не так проста, как кажется, и почему сравнение любых инструментов без учета важных нюансов напоминает сравнение фруктов и муравьедов. Автор также дает рекомендацию о том, что нужно выбирать в качестве наиболее адекватных критериев при сравнении инструментов.
-
06.01.2011
Уолтер Брайт рассказывает об интересном подходе, который он позаимствовал из области конструирования самолетов и стал применять в программировании. То, чем занимается он сам и советует делать другим программистам, это поиск определенных паттернов постоянно возникающих ошибок. Для каждого найденного паттерна надо придумать способ изменения процесса программирования, чтобы избежать повторения соответствующих ошибок в будущем. Среди возможных путей он предлагает изменение стандартов кодирования, смены языка программирования, технологий тестирования и т.д. Заметка сопровождается примерами кода c различными дефектами, для каждого из которых автор предлагает определенные способы решения.
-
04.12.2010
Статья создана как попытка охватить всю информацию, касающуюся анализа кода в Visual Studio. Она разделена на три части: "Необходимость Анализа Кода", "Запуск Анализа Кода на собственном коде" и "Как подготовить код к полноценному анализу". В первой части объясняется, почему анализ кода необходим для разработчиков, а во второй части содержатся примеры кода основных паттернов ошибок, которые анализатор может обнаружить. В третьей части автор рассказывает, как писать и править свой код так, чтобы анализатор смог полностью проверить его и не "потерять" важные предупреждения. Текст сопровождается большим количеством примеров кода, иллюстрирующих ключевые моменты.
-
24.04.2010
Сид Сиднер, руководитель отдела инженерии безопасности в компании ACI Worldwide, рассказывает о статическом анализе кода как наилучшем способе обеспечения качества и надежности программных систем. Он объясняет принцип работы инструментов статического анализа кода и приводит список вопросов и рекомендаций в помощь разработчикам при выборе правильного инструмента статического анализа для интеграции с процессами разработки. Автор также делится своим опытом работы с некоторыми производителями инструментов статического анализа и на примере своей компании объясняет, чем они руководствовались при выборе подходящего анализатора.
-
01.01.2010
В данной статье разработчики компании Coverity делятся опытом разработки и коммерциализации своего собственного статического анализатора кода, а также выводами и уроками, извлеченными из этого опыта. Авторы формулируют собственные "законы обнаружения ошибок" и рассказывают о различных тонкостях реализации качественного инструмента статического анализа.
-
03.09.2009
Wiki-ресурс, посвященный статическому анализу кода. В нем описывается сущность данной технологии и дается много ссылок на другие материалы по инструментам статического анализа и смежным областям.
-
02.09.2009
В данном посте перечисляются некоторые инструменты статического анализа C++ кода, которые могут облегчить разработчикам поиск определенных специфических ошибок, связанных с копированием кода, цикломатической сложностью, а также ошибок программирования общего плана. Автор также дает несколько советов по интеграции инструментов статического анализа в процесс разработки ПО и максимально быстрому поиску свежих ошибок.
-
27.08.2009
Эта статья будет интересна любому пользователю, связанному с программированием на C++, поскольку в ней описывается попытка авторов изучить самые популярные анализаторы С++ кода на основе специальных правил и примеров ошибочного кода, которые анализировались инструментами. База тестирования и его результаты подробно описаны и приведены в таблицах и примерах кода.
-
21.08.2009
Еще одна статья, посвященная использованию статического анализа кода в тестировании программного обеспечения в медицинских устройствах. Авторы объясняют, каким образом статический анализ может быть полезен в послепродажном тестировании и поддержке медицинских устройств, и в качестве примера разбирают результаты тестов, проведенных инструментом CodeSonar.
-
06.08.2009
В своей статье, написанной с изрядной долей иронии, Джек Ганссли затрагивает тему неэффективных инструментов, которые продаются нечестными поставщиками. Он объясняет непростую ситуацию в сфере развития программного обеспечения и рассказывает о стереотипах мышления и поведения, которые царят в среде разработчиков, глав компаний и поставщиков, что приводит к замкнутому кругу, когда нужды покупателей так и остаются не удовлетворенными несмотря на несметное количество рекламы и обещаний.
-
14.06.2009
Автор статьи концентрируется на задаче улучшения процесса разработки C++ кода. Он описывает основные моменты, которые следует учитывать при анализе, отладке и улучшении кода. Сюда относятся использование статического анализа, создание набора юнит- и регрессионных тестов и т.д. Статья содержит четыре раздела, каждый из которых посвящен конкретному методу, и примеры кода.
-
23.05.2009
Данная статья представляет собой исследование на тему того, как разработчики ядра Linux реагируют на сообщения об ошибках, выдаваемые статическим анализатором кода. Авторы выясняют, что большинство разработчиков предпочитают сортировать сообщения об ошибках по нескольким категориям, и показывают, какие факторы влияют на принятие решения о сортировке определенных типов ошибок или наоборот служат причиной для отказа от сортировки и просмотра соответствующих фрагментов кода. Выводы авторов подкрепляются многочисленными диаграммами и таблицами.
-
29.03.2009
Автор данной заметки приводит список инструментов для анализа C++ кода, в котором он перечисляет разнообразные коммерческие и некоммерческие инструменты. Для каждого пункта имеется краткое описание и ссылка на соответствующий сайт.
-
19.02.2009
Сегодня, когда надежность системы зависит больше от программного обеспечения, чем от "железа", очень важно повышать качество встроенных программ. Статический анализ является прекрасной методикой для этой цели. В статье приводится классификация инструментов статического анализа и описываются некоторые наиболее популярные инструменты для различных целей (инструменты общего назначения, инструменты для Java и инструменты для контроля безопасности). Еще один раздел статьи посвящен вопросам интеграции статического анализа в процесс разработки программного обеспечения и объясняет каждый этап этой процедуры. Текст содержит поясняющие схемы и примеры кода.
-
03.11.2008
Поскольку ошибки в коде делают его уязвимым для атак, он должен тщательно тестироваться для того чтобы соответствовать требованиям безопасности. Автор рассказывает про такие распространенные слабые места в коде на уровне реализации программы, как состояния гонки, отсутствие проверки входных данных, исключения, атаки с помощью SQL и переполнения буфера. Далее он касается темы экспертной оценки кода, анализа методами белого и черного ящиков, а также анализа метрик. В конце статьи даются ссылки на список инструментов анализа кода и дополнительную информацию по теме.
-
08.08.2008
В этом интервью Адам Колава, главный исполнительный директор и сооснователь корпорации Parasoft, делится советами о том, как использовать статический анализ кода с наибольшей эффективностью. Он подробно рассказывает о таких трех главных разновидностях статического анализа как статический анализ на основе паттернов, статический анализ потока данных и метрики кода, а также дает рекомендации по правильному использованию статического анализатора при разработке и автоматизации процесса анализа кода.
-
20.05.2008
Настоящая статья посвящена технологии анализа BugDetective от корпорации Parasoft, которая предоставляет разработчикам такие преимущества как возможность быстрой модификации кода, гибкая система тестирования, сосредоточение на реальных ошибках и дефектах и т.д. В статье очень подробно описывается принцип работы BugDetective и способы ее использования в сочетании с другими методами тестирования. В тексте содержится множество пояснительных примеров кода и скриншотов.
-
14.05.2008
Переполнения стэка могут быть очень опасными в системах с высоким уровнем интеграции, их сложно обнаружить и отладить, поэтому очень важно предотвратить их появление, проведя анализ стэка заранее. В этой статье рассказывается, каким образом статический анализ стэка может помочь в решении данной задачи, какие обстоятельства могут препятствовать его успешному осуществлению, а также приводится несколько советов, как можно использовать компилятор и специальный инструмент AdaCoreТs GNATstack при анализе стэка.
-
29.04.2008
Статья затрагивает тематику статического анализа и использования инструмента статического анализа кода IBM Rational Software Analyzer. Описывается методика статического анализа в целом и ее преимущества, а также реализация инструмента IBM Rational Software Analyzer. Пользователю предоставляется подробная пошаговая инструкция, как задать правила для анализа, установить конфигурацию анализа, провести его и просмотреть результаты, как экспортировать данные или создать по ним отчет и т.д. Каждый шаг иллюстрируется скриншотами.
-
01.11.2006
Внедрение статического анализа в процесс разработки программного обеспечения дает программисту много преимуществ. В статье предлагается обзор наиболее популярных инструментов статического анализа в нескольких классификациях, включая инструменты для анализа языка Java, инструменты для проверки безопасности кода и т.д. Авторы также обращают внимание на различные аспекты внедрения статического анализа, такие как создание стандарта кодирования, реализация автоматической проверки, процесс оценки кода, сохранение результатов, работа с новым и устаревшим кодом, а также вопрос обучения разработчиков.
-
06.10.2006
Данный пост касается метода поиска дефектов в строках исходного кода самых разнообразных проектов с помощью нового инструмента поиска исходного кода Google Code Search. Автор объясняет, как можно легко находить ошибки в коде, вводя в строке поиска определенные выражения и символы. В посте дается несколько примеров, которые наглядно демонстрируют применение описанной техники.
-
01.08.2006
Данный wiki-ресурс посвящен инструментам статического анализа кода для наиболее популярных языков программирования. В нем вы найдете список различных инструментов, как с открытым кодом, так и коммерческих, с краткими описаниями и полезными ссылками на другие ресурсы.
-
01.03.2006
Ник Винхольт предлагает вам свою помощь в освоении анализатора C/C++ кода, который поставляется в комплекте с Visual Studio Team System (VSTS). В статье объясняется, почему статический анализ необходим для C/C++ приложений, и как запустить и использовать эту функцию в VSTS.