Archives

Сообщения от Andrey Karpov RSS

Andrey Karpov

Andrey Karpov is candidate of science (philosophy doctor) in the field of mathematical modeling, numerical methods and complexes of the programs. Andrey Karpov defended his thesis in the Institute of Mathematical Modelling under Russian Academy of Sciences. The theme of his thesis is "Data Processing in Parallel Computer Complexes". Andrey Karpov is expert in C++ language and in methodology of source program code static analysis. In 2008 Andrey Karpov and Evgeniy Ryzhkov founded Program Verification Systems company. The main activity of the company is development and selling of developers' tools in the field of code analysis. Andrey Karpov is the author of dozens of published works and registration certificates of programs. The main themes of these works are: data visualization in gas dynamics, development of 64-bit and parallel program systems, source code analysis technology. He takes active part in conferences devoted to these themes. E-Mail: karpov@viva64(dot)com

Коллекция интересных ресурсов по тематике программирования на языке Си/Си++

Andrey Karpov (65 пост(а)) 16.05.2012 13:13
Комментарии (1)

Если вы присутствуете на одном из этих сайтов, то приглашаю следовать за мной. Со временем вам попадется немало интересных статей. А чтобы заинтересовать вас, я решил сделать небольшую подборку материалов.

Продолжение ›

Категория: Параллельное программирование, Разработка софта
Метки: , , ,

Не зная брода, не лезь в воду. Часть третья.

Andrey Karpov (65 пост(а)) 19.04.2012 14:24
Комментарии (1)

Продолжу рассказы о том, как программисты ходят по краю, даже не подозревая об этом. Поговорим об операциях сдвига <<, >>. Принципы работы операторов сдвига очевидны и многие программисты даже не знают, что их использование согласно стандарту Си/Си++ может приводить к неопределенному или к неуточненному поведению (undefined behaviour/unspecified behavior).

Продолжение ›

Категория: Разработка софта
Метки: , ,

PVS-Studio vs IPP Samples (part 3)

Andrey Karpov (65 пост(а)) 19.04.2012 14:24
Комментарии (3)

Меня не покидает желание продать команде разработчиков Intel Performance Primitives Library лицензию на PVS-Studio :)

Продолжение ›

Категория: Intel Software Network, Разработка софта
Метки: , , ,

Новые статьи

Andrey Karpov (65 пост(а)) 13.03.2012 16:47
Комментарии (6)

Я разместил на сайте ISN несколько новых статей.

Продолжение ›

Категория: Intel Software Network
Метки: , , ,

PVS-Studio: анализируем код Doom 3

Andrey Karpov (65 пост(а)) 30.11.2011 09:09
Комментарии (6)

Компания id Software имеет лицензию на PVS-Studio. Тем не менее, мы решили проверить исходные коды Doom 3, которые недавно были выложены в сеть.

Продолжение ›

Категория: Игры, Разработка софта
Метки: , , ,

Мифы о статическом анализе. Миф пятый – можно составить маленькую программу, чтобы оценить инструмент.

Andrey Karpov (65 пост(а)) 15.11.2011 14:29
Комментарии (6)

Продолжаем опровергать типичные и стойкие заблуждения, касающиеся методологии статического анализа. Миф пятый: "Возможности статического анализатора легко оценить, написав тестовый пример".

Продолжение ›

Категория: Разработка софта
Метки: ,

Мифы о статическом анализе. Миф четвёртый – программисты хотят добавлять свои правила в статический анализатор.

Andrey Karpov (65 пост(а)) 10.11.2011 11:09
Комментарии (1)

Миф четвертый: "Статический анализатор должен иметь возможность добавлять пользовательские правила. Программисты хотят добавлять свои собственные правила."

Продолжение ›

Категория: Параллельное программирование
Метки: ,

Мифы о статическом анализе. Миф третий – динамический анализ лучше чем статический.

Andrey Karpov (65 пост(а)) 08.11.2011 16:16
Комментарии (10)

Миф третий: "Динамическая проверка такими инструментами, как valgrind для Си/Си++ намного продуктивнее, чем статический анализ кода".

Продолжение ›

Категория: Разработка софта
Метки: , , ,

Мифы о статическом анализе. Миф второй – профессиональные разработчики не допускают глупых ошибок.

Andrey Karpov (65 пост(а)) 07.11.2011 15:12
Комментарии (4)

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

Продолжение ›

Категория: Разработка софта
Метки: , ,

Мифы о статическом анализе. Миф первый – статический анализатор это продукт разового применения

Andrey Karpov (65 пост(а)) 05.11.2011 00:58
Комментарии (11)

Общаясь с людьми на форумах, я заметил несколько стойких заблуждений, касающихся методологии статического анализа. Миф первый: "Статический анализатор - это продукт разового применения".

Продолжение ›

Категория: Параллельное программирование
Метки:

PVS-Studio: анализируем код операционной системы ReactOS

Andrey Karpov (65 пост(а)) 16.09.2011 19:29
Комментарии (4)

Проверив код ReactOS, я смог исполнить сразу три своих желания.

Продолжение ›

Категория: Открытый код
Метки: , , , ,

PVS-Studio vs Clang

Andrey Karpov (65 пост(а)) 09.08.2011 10:10
Комментарии (1)

Мы случайно проверили проект Clang. Думаю, результат будет любопытен ряду разработчиков.

Продолжение ›

Категория: Открытый код, Разработка софта
Метки: , , , , ,

Как в PVS-Studio мы решали одну инженерную задачу в течение нескольких лет

Andrey Karpov (65 пост(а)) 08.08.2011 12:55
Комментарии (0)

Сначала я хотел назвать эту заметку "Как PVS-Studio позволяет ДЕШЕВО внедрить статический анализ кода в процесс разработки", но не решился из-за двусмысленного толкования слова "дешево".

Продолжение ›

Категория: Разработка софта
Метки: , , ,

Лев Толстой и статический анализ кода

Andrey Karpov (65 пост(а)) 22.07.2011 15:47
Комментарии (5)

В этот раз с помощью PVS-Studio мы проверили Apache HTTP Server. Как и ожидалось, нашли в нём ошибки. Ошибок мало. Это тоже ожидаемо.

Продолжение ›

Категория: Intel Software Network, Разработка софта
Метки: , , , ,

PVS-Studio научился следить за тем, как вы программируете

Andrey Karpov (65 пост(а)) 27.06.2011 14:50
Комментарии (2)

В PVS-Studio появился режим работы, который поможет максимально рано выявлять ошибки и опечатки. Анализатор запускается сразу после компиляции файлов и если что-то не так, покраснеет от стыда за ваш код. Фича доступна на данный момент только для пользователей Visual Studio 2010.

Продолжение ›

Категория: Intel Software Network, Разработка софта
Метки: , , ,

Всё о статическом анализе Си++ кода в одном месте

Andrey Karpov (65 пост(а)) 23.06.2011 15:59
Комментарии (1)

1. Что такое статический анализ кода? Сайт Wikipedia. Статический анализ кода. Терминология на сайте Viva64.com. Статический анализ кода. Hacker Report. Static Analysis Tools. Сайт Wikipedia. Список статических анализаторов кода. 2. Статьи по тематике статического анализа кода. Coverity. A Few Billion Lines of Code Later: Using Static Analysis to Find Bugs in the Real World. Parasoft. [...]

Продолжение ›

Категория: Разработка софта

Скринкаст: статический анализ Си++ кода

Andrey Karpov (65 пост(а)) 11.05.2011 15:08
Комментарии (1)

Я расскажу, как можно найти многие подобные ошибки еще на этапе написания кода с помощью методологии статического анализа.

Продолжение ›

Категория: Intel Software Network
Метки: , , , , , , , ,

Есть ли практический смысл использовать для итераторов префиксный оператор инкремента ++it, вместо постфиксного it++

Andrey Karpov (65 пост(а)) 21.02.2011 17:17
Комментарии (3)

Я все-таки решил разобраться, есть ли смысл при работе с итераторами писать ++iterator, а не iterator++. Мой интерес к этому вопросу возник не из любви к искусству, а из практических соображений. Мы давно хотим развивать PVS-Studio не только в направлении поиска ошибок, но и в сторону выдачи подсказок по оптимизации кода. Выдача сообщения, что лучше писать ++iterator вполне уместна в плане оптимизации.

Продолжение ›

Категория: Разработка софта
Метки: , , ,

Ситуации, когда может пригодиться статический анализатор кода

Andrey Karpov (65 пост(а)) 28.12.2010 13:40
Комментарии (2)

Чаще всего статический анализ кода применяется для контроля качества разрабатываемого проекта. Но есть и более необычные задачи, для решения которых используется анализ кода. В этой небольшой заметке хочется описать некоторые из них.

Продолжение ›

Категория: Разработка софта
Метки: , ,

Статический анализ и регулярные выражения

Andrey Karpov (65 пост(а)) 08.12.2010 18:54
Комментарии (11)

В ходе обсуждения статического анализатора кода PVS-Studio 4.00 вновь встал вопрос, можно ли реализовывать большинство проверок, используя регулярные выражения, и не переусложняем ли мы, говоря, что обязательно необходимо строить и работать с деревом разбора. Подобный вопрос возникает уже не в первый раз, и я решил написать статью, чтобы объяснить, почему пытаться использовать регулярные выражения для анализа Си/Си++ кода - эта очень плохая идея....

Продолжение ›

Категория: Intel Software Network, Разработка софта
Метки: , , , , ,

Трепещи, мир! Мы выпустили PVS-Studio 4.00 с бесплатным анализатором общего назначения

Andrey Karpov (65 пост(а)) 03.12.2010 12:24
Комментарии (5)

Предлагаем вниманию программистов новый инструмент для поиска ошибок в исходном коде приложений на языке Си/Си++. В рамках анализатора PVS-Studio реализован новый набор правил общего назначения. Эта функциональность на данный момент является бесплатной.

Продолжение ›

Категория: Intel Software Network, Разработка софта
Метки: , , , , , ,

Поиск явного приведения указателя к 32-битному типу

Andrey Karpov (65 пост(а)) 22.10.2010 08:08
Комментарии (3)

В Win64 размер указателя стал 64-битным, а размер int остался по-прежнему 32 бита. Явное приведение типа обрежет значение указателя, что приведет к ошибке, если указатель ссылается на объект находящимся за пределами младших 4 Гбайт памяти.

Продолжение ›

Категория: Intel Software Network
Метки: , , ,

64-битные программы и вычисления с плавающей точкой

Andrey Karpov (65 пост(а)) 31.08.2010 09:52
Комментарии (3)

К нам в поддержку обратился разработчик, занимающийся портированием своего Windows-приложения на 64-битную платформу. Он задал вопрос, связанный с использованием вычислений с плавающей точкой.

Продолжение ›

Категория: Intel Software Network
Метки: , , ,

Большой брат помогает тебе

Andrey Karpov (65 пост(а)) 14.08.2010 23:24
Комментарии (1)

В очередной раз убедился, что программисты пишут программы совершенно безалаберно. И работают они не благодаря их заслугам, а благодаря удачному стечению обстоятельств и заботе разработчиков компиляторов в Microsoft или Intel. Да, да, именно они заботятся и в нужный момент подставляют костылики нашим кривобоким программкам.

Продолжение ›

Категория: Разработка софта
Метки: , , , ,

Новые диагностические возможности, реализованные в PVS-Studio 3.60

Andrey Karpov (65 пост(а)) 11.06.2010 10:46
Комментарии (3)

Новые диагностические возможности, реализованные в PVS-Studio 3.60: Устаревшие функции; Переполнение буфера; Memsize-типы в структурах; Пользовательские пожелания.

Продолжение ›

Категория: Разработка софта
Метки: , , , , ,

Причины, по которым 64-битные программы требуют больше стековой памяти

Andrey Karpov (65 пост(а)) 07.06.2010 10:20
Комментарии (4)

В форумах люди часто упоминают, что 64-битные версии программ поглощают больший объем памяти и стека

Продолжение ›

Категория: Intel Software Network
Метки: , , , ,

"Что это такое?" – новая возможность анализатора кода PVS-Studio

Andrey Karpov (65 пост(а)) 19.05.2010 14:42
Комментарии (3)

Занимаясь разработкой, продвижением и продажей анализатора C/C++ кода PVS-Studio, нам очень нравится общаться с потенциальными пользователями нашего программного продукта.

Продолжение ›

Категория: Intel Software Network, Параллельное программирование, Разработка софта
Метки:

База знаний по вопросам разработки 64-битных и параллельных приложений

Andrey Karpov (65 пост(а)) 15.03.2010 11:19
Комментарии (0)

Мы создали новый раздел, который назвали "база знаний". Здесь нашли отражения материалы, которые касаются конкретных вопросов, возникающих у разработчиков при разработке 64-битных и параллельных приложений.

Продолжение ›

Категория: Разработка софта
Метки: , , ,

Упадет или не упадет? Или мои неправильные ассоциации

Andrey Karpov (65 пост(а)) 05.03.2010 11:44
Комментарии (8)

Intel говоря о параллельности на сайтах, в презентациях, часто использует образ человека, идущего по рельсам.

Продолжение ›

Категория: Параллельное программирование
Метки:

Как стандарт C++0x поможет в борьбе с 64-битными ошибками

Andrey Karpov (65 пост(а)) 02.03.2010 18:32
Комментарии (1)

Программисты видят в стандарте C++0x возможность использовать лямбда-функции и прочие мало понятные для меня сущности :). Я увидел в нем удобные средства, позволяющие исключить многие 64-битные ошибки.

Продолжение ›

Категория: Разработка софта
Метки: , , ,

Описание ошибки интеграции Intel Parallel Studio Service Pack 1 в Visual Studio 2005/2008

Andrey Karpov (65 пост(а)) 15.02.2010 10:40
Комментарии (3)

Мы заметили одну ошибку интеграции Intel Parallel Studio Service Pack 1 в Visual Studio 2005/2008, которую хотим здесь описать и подсказать способ ее устранения.

Продолжение ›

Категория: Параллельное программирование
Метки: ,

Уроки разработки 64-битных приложений на языке Си/Си++

Andrey Karpov (65 пост(а)) 10.02.2010 10:10
Комментарии (1)

Мы решили объединить все наши знания в единый труд, в котором будут рассмотрены сразу все вопросы, касающиеся 64-битного программирования. Для оформления в виде статьи материала оказалась слишком много и мы решили представить его в виде курса уроков.

Продолжение ›

Категория: Разработка софта
Метки: , , , , , ,

Visual Studio Team System, /analyze и D9040

Andrey Karpov (65 пост(а)) 08.02.2010 11:11
Комментарии (0)

В версиях Visual Studio Team System в компиляторе C++ есть ключ командной строки /analyze. Этот статический анализ довольно хорошо работает и действительно позволяет найти проблемы в коде. Однако все это до тех пор, пока однажды вы не получите сообщение D9040.

Продолжение ›

Категория: Разработка софта
Метки: , , , ,

Верификация и валидация

Andrey Karpov (65 пост(а)) 05.02.2010 17:20
Комментарии (4)

Неоднократно мы слышали различные комментарии и рассуждения, следует ли относить статический анализ исходного кода программ к верификации и валидации и в чем различие этих понятий. Мы решили разобраться с терминологией, чтобы придерживаться наиболее правильного толкования этих понятий.

Продолжение ›

Категория: Разработка софта
Метки: , ,

Проблемы 64-битного кода в реальных программах: qsort

Andrey Karpov (65 пост(а)) 22.01.2010 11:11
Комментарии (1)

Время идет, потребности в потребляемой памяти растут и пришел момент, когда кто-то решил отсортировать массив, состоящий более чем из 2^31 элементов.

Продолжение ›

Категория: Разработка софта
Метки: , ,

Оптимизация в мире 64-битных ошибок

Andrey Karpov (65 пост(а)) 21.01.2010 17:17
Комментарии (2)

В предыдущей записи блога я обещал рассказать, почему сложно демонстрировать 64-битные ошибки на простых примерах. Разговор касался operator[] и я говорил, что в простых случая может работать даже явно некорректный код. Сейчас я приведу такой пример.

Продолжение ›

Категория: Разработка софта
Метки: , , , ,

Тяжела и неказиста жизнь простого программиста. Или ошибки, которых не бывает.

Andrey Karpov (65 пост(а)) 18.01.2010 11:11
Комментарии (8)

В процессе переписки выяснилось, что файл, который инструмент не может проверить, называется не testfile.c, как следует из логики сообщения, а test^file.c.

Продолжение ›

Категория: Разработка софта
Метки:

Поиск 64-битных ошибок в реализации массивов

Andrey Karpov (65 пост(а)) 15.01.2010 11:11
Комментарии (0)

В PVS-Studio 3.43 был пересмотрен подход в обнаружении анализатором Viva64 ошибок в классах, представляющих собой контейнеры (массивы).

Продолжение ›

Категория: Разработка софта
Метки: , , , , ,

Тонкость с виртуальными функциями

Andrey Karpov (65 пост(а)) 14.01.2010 16:04
Комментарии (4)

Решил записать один момент, связанный с виртуальными функциями, а то боюсь, что потом его забуду и случайно вновь вернусь к этому вопросу.

Продолжение ›

Категория: Разработка софта
Метки: , , ,

Интересные цитаты для творцов новых идей и решений

Andrey Karpov (65 пост(а)) 23.12.2009 15:56
Комментарии (8)

Три человека что-то строили. Занимались одним и тем же, но на вопрос, что они делают, ответили по-разному. Один сказал: "Я дроблю камни", другой сказал: "Я зарабатываю себе на жизнь", третий ответил "Я строю храм". Притча.

Продолжение ›

Категория: Uncategorized

Почему A + B != A - (-B)

Andrey Karpov (65 пост(а)) 22.12.2009 18:02
Комментарии (1)

А вот при компиляции 64-битного кода выражения "A + B" и "A - (-B)" будут обозначать совершенно разное. Подвыражение "-B" будет иметь беззнаковый тип и равняться 0xFFFFFFFFu. И именно это значение 0xFFFFFFFFu будет вычтено из указателя.

Продолжение ›

Категория: Разработка софта
Метки: , ,

Проблемы в реальных программах - каких только ошибок не бывает на свете...

Andrey Karpov (65 пост(а)) 10.12.2009 17:39
Комментарии (4)

Ошибка привлекла внимание своей необычностью, и мы решили описать ее в блоге.

Продолжение ›

Категория: Разработка софта
Метки:

Холодный Tachyon

Andrey Karpov (65 пост(а)) 08.12.2009 17:16
Комментарии (11)

Давно было желание привести новый пример использования анализатора VivaMP, входящего в состав PVS-Studio для выявления ошибок в параллельном коде. Оказалось, что этот альтернативный подход к анализу очень хорошо можно продемонстрировать на примере Tachyon.

Продолжение ›

Категория: Параллельное программирование
Метки: , , , ,

Стеснительные компании

Andrey Karpov (65 пост(а)) 07.12.2009 09:09
Комментарии (13)

Заметил одну интересную особенность российских ИТ-компаний, занимающихся разработкой программного обеспечения. Они стесняются написать свой адрес и свое настоящее название.

Продолжение ›

Категория: Uncategorized
Метки:

Проблемы 64-битного кода в реальных программах: изменение типа указателя

Andrey Karpov (65 пост(а)) 03.12.2009 12:56
Комментарии (6)

Явные приведения типа часто маскируют ошибки, связанные с изменением типа указателя. Одной из таких ошибок является превращение указателя на 32-битные объекты в указатель на 64-битные объекты.

Продолжение ›

Категория: Разработка софта
Метки: , , ,

Красивая 64-битная ошибка на языке Си

Andrey Karpov (65 пост(а)) 19.11.2009 11:48
Комментарии (2)

В языке Си можно использовать функции без их предварительного объявления. Конечно, данная возможность опасна. Рассмотрим связанный с ней интересный пример 64-битной ошибки.

Продолжение ›

Категория: Разработка софта
Метки: , , ,

Будьте аккуратны с директивой atomic

Andrey Karpov (65 пост(а)) 18.11.2009 11:11
Комментарии (12)

Хочется рассказать об одной ошибке, которую легко может допустить человек еще мало знакомый с технологией OpenMP. Ошибка связана с неверным представлением о работе директивы atomic.

Продолжение ›

Категория: Параллельное программирование, Разработка софта
Метки: , ,

Представление информации на сайте

Andrey Karpov (65 пост(а)) 11.11.2009 11:11
Комментарии (8)

Зайдя на сайт каким-то образом, человек может просто не узнать, какие есть еще материалы на сайте. И даже если при этом они (материалы) ему интересны, то он их не заметит.

Продолжение ›

Категория: Разработка софта

А существуют ли "64-битные" ошибки?

Andrey Karpov (65 пост(а)) 10.11.2009 10:10
Комментарии (4)

Я часто слышу в различных интерпретациях фразу "Приведенные примеры показывают не код, неправильный в плане переносимости на х64 системы, а код, неправильный сам по себе".

Продолжение ›

Категория: Разработка софта
Метки: , ,

64-битный мир становится ближе

Andrey Karpov (65 пост(а)) 05.11.2009 10:10
Комментарии (20)

Выпущенная в июле 2009 года Windows Server 2008 R2 доступна только в 64-битном варианте.

Продолжение ›

Категория: Разработка софта
Метки: , , ,

Проблемы 64-битного кода в реальных программах: виртуальные функции

Andrey Karpov (65 пост(а)) 04.11.2009 11:11
Комментарии (3)

Об одной проблеме при миграции кода на 64-битные системы, связанной с некорректной перегрузкой виртуальных функций мы писали в наших статьях уже давно. Например, наша статья "20 ловушек переноса Си++ - кода на 64-битную платформу" вышла в марте 2007 года (хотя ничуть не утратила актуальности). В ней было описание проблемы с виртуальными функциями. Суть проблемы заключается в следующем.

Продолжение ›

Категория: Разработка софта
Метки: , , ,

Обработка исключений внутри параллельных секций

Andrey Karpov (65 пост(а)) 03.11.2009 09:09
Комментарии (3)

Использование nothrow варианта оператора new для упрощения OpenMP кода.

Продолжение ›

Категория: Параллельное программирование, Разработка софта
Метки: ,

Проблемы 64-битного кода в реальных программах: магические константы

Andrey Karpov (65 пост(а)) 28.10.2009 10:10
Комментарии (0)

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

Продолжение ›

Категория: Разработка софта
Метки: , ,

Проблемы 64-битного кода в реальных программах: виртуальные функции

Andrey Karpov (65 пост(а)) 27.10.2009 10:10
Комментарии (0)

О проблеме миграции кода на 64-битные системы, связанной с некорректной перегрузкой виртуальных функций мы писали в наших статьях уже давно.

Продолжение ›

Категория: Разработка софта
Метки: , , ,

Проверка Linux-приложений с помощью PVS-Studio на Windows

Andrey Karpov (65 пост(а)) 23.10.2009 10:10
Комментарии (1)

В PVS-Studio появилось новая возможность проверки 64-битного кода с точки зрения модели данных LP64.

Продолжение ›

Категория: Разработка софта
Метки: , , , , ,

PVS-Studio и проверка Loki

Andrey Karpov (65 пост(а)) 22.10.2009 09:00
Комментарии (0)

Не так давно к нам обратился администратор открытой библиотеки Loki с цель проверить библиотеку на совместимость с Win64. Мы согласились, и, затаив дыхание, приступили к этой задаче...

Продолжение ›

Категория: Разработка софта
Метки: , , , ,

Использование rand() в параллельных секциях OpenMP

Andrey Karpov (65 пост(а)) 21.10.2009 16:00
Комментарии (6)

На форуме RSDN я встретил интересную ветку, где описывается специфическая ошибка использования функции rand в параллельных секциях OpenMP.

Продолжение ›

Категория: Параллельное программирование, Разработка софта
Метки: , ,

Функция распечатки типа выражения

Andrey Karpov (65 пост(а)) 21.10.2009 10:56
Комментарии (3)

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

Продолжение ›

Категория: Intel Software Network
Метки:

OpenMP 3.0 и итераторы

Andrey Karpov (65 пост(а)) 19.10.2009 13:03
Комментарии (2)

Радостная новость ждет разработчиков, которые хотят одновременно использовать в своих программах итераторы и OpenMP. До недавнего времени, не то чтобы эти технологии были не совместимы, но дополняющее использование этих двух технологий было невозможно. Стандарт OpenMP 3.0 меняет ситуацию и делает разработку параллельных приложений более простой и изящной. OpenMP 3.0 - важный шаг, который поможет разработчикам проще приступить к созданию надежных параллельных приложений.

Продолжение ›

Категория: Параллельное программирование, Разработка софта
Метки: ,

OpenMP и исключения (exceptions)

Andrey Karpov (65 пост(а)) 14.10.2009 12:19
Комментарии (0)

Мы продолжаем развивать наш статический анализатор VivaMP, и на этот раз хочется рассказать о диагностике ошибок, связанных с использованием исключений (exception) языка Си++ в параллельных регионах (parallel regions).

Продолжение ›

Категория: Параллельное программирование, Разработка софта
Метки: , ,

Магические константы и функция malloc()

Andrey Karpov (65 пост(а)) 09.10.2009 13:04
Комментарии (0)

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

Продолжение ›

Категория: Intel Software Network
Метки: , , ,

Изменения выравнивания типов и последствия

Andrey Karpov (65 пост(а)) 02.10.2009 13:14
Комментарии (14)

При переносе программного обеспечения одной из забот, которая ложится на плечи разработчика является изменение размерности типов и правил их выравнивания. Не так давно мы поддержали в анализаторе Viva64 диагностическое правило, позволяющее обнаружить структуры данных, неэффективно использующие память на 64-битных системах. Но в данном направлении еще стоит продолжать исследования и я внимательно просматриваю сообщения в форумах по этому поводу. В этот раз мое внимание привлекло сообщение в форуме RSDN следующего содержания...

Продолжение ›

Категория: Разработка софта
Метки: ,

Атавизмы в больших системах

Andrey Karpov (65 пост(а)) 01.10.2009 16:25
Комментарии (0)

В больших старых программных системах можно наблюдать эволюцию развития языков программирования, когда наиболее старые части написаны в стиле языка Си, а в наиболее свежих можно встретить сложные шаблоны в стиле Александреску. Есть атавизмы связанные и с 64-битностью. Вернее атавизмы, препятствующие работе современного 64-битного кода. Приведу новый пример, о котором я недавно узнал.

Продолжение ›

Категория: Разработка софта
Метки: ,

Проблемы 64-битного кода в реальных программах: FreeBSD

Andrey Karpov (65 пост(а)) 30.09.2009 15:37
Комментарии (3)

Очень часто при переносе кода на 64-битные системы возникают простые, но от того не менее серьезные ошибки. Одну из таких ошибок описал мой коллега Евгений Рыжков в нашем корпоративном блоге. И мне хотелось бы поделиться его описанием с сообществом разработчиков на этом сайте.

Продолжение ›

Категория: Разработка софта
Метки: , ,

Блог про статический анализ кода, разработку 64-битных и параллельных программ

Andrey Karpov (65 пост(а)) 29.09.2009 13:42
Комментарии (23)

Приветствуем! Этой записью мы начинаем наш блог на сайте ISN. Мы - это российский стартап, ООО "СиПроВер" ("Системы программной верификации", http://www.viva64.com/ru/main/). Наша компания занимается разработкой и продажей статического анализатора кода PVS-Studio, предназначенного для обнаружения ошибок в исходном коде параллельных и 64-битных программ. Блог будут вести два человека - генеральный директор Евгений Рыжков и научный консультант Андрей Карпов.

Продолжение ›

Категория: Параллельное программирование, Разработка софта
Метки: , , , , ,