Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Теория программирования > Общие вопросы создания ПО
Перезагрузить страницу Статьи 64-bit приложения
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Wanderer2008 Wanderer2008 вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 08.04.2008
По умолчанию Статьи 64-bit приложения - 08.04.2008, 16:05

Здравствуйте. Я являюсь автором и соавтором нескольких статей, посвященных разработке статических анализаторов и вопросом разработки 64-битных приложений. Поскольку на нашем сайте www.Viva64.com пока отсутствует раздел русских статей, то я решил дать ссылки на них в нескольких форумах. Надеюсь, они будут интересны и полезны.

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

Андрей Карпов. Забытые проблемы разработки 64-битных программ.
Аннотация. Хотя история развития 64-битных систем составляет более десятилетия, появление 64-битных версий операционной системы Windows поставило перед разработчиками новые задачи в области разработки и тестирования программных решений. В статье рассмотрены некоторые ошибки связанные с разработкой 64-битного Си/Си++ кода под операционную систему Windows. Объяснены причины, по которым данные ошибки не нашли отражения в статьях, посвященных задачам миграции и неудовлетворительно выявляются большинством статических анализаторов.

Андрей Карпов, Евгений Рыжков. Статический анализ кода для верификации 64-битных приложений.
Аннотация. В результате появления на рынке персональных компьютеров 64-битных процессоров перед разработчиками программ возникает задача переноса старых 32-битных приложений на новую платформу. После такого переноса кода приложение может вести себя некорректно. В статье рассматривается вопрос разработки и применения статического анализатора кода для проверки правильности таких приложений. Приводятся проблемы, возникающие в приложениях после перекомпиляции для 64-битных систем, а также правила, по которым выполняется проверка кода.
Тематика: Статический анализ кода, разработка статических анализаторов, Си/Си++, 64-бит

Евгений Рыжков. Viva64: разработка 64-битных приложений.
Аннотация. Viva64 – это инструмент для поиска ошибок и возможных проблем в С/C++ коде при переносе приложений на 64-битную платформу. Сейчас, когда необходимость выпуска 64-битных версий программного обеспечения осознали почти все разработчики, как никогда необходимо убедиться в качестве разрабатываемого продукта. И если традиционная 32-битная версия Вашего приложения протестирована на должном уровне, то перенос ее на 64-битную платформу может выявить неожиданные проблемы. Обзору проблем переноса приложений посвящены отдельные статьи, а в данном документе мы расскажем о том, как обеспечить необходимый уровень качества кода с помощью статического анализатора Viva64.

Андрей Карпов. Установка PC-Lint и его использование в Visual Studio 2005.
Аннотация. Статья посвящена первому знакомству со статическим анализатором Си++-кода PC-Lint версии 8.0. Описан процесс установки инструмента и его первоначальной настройки.

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

Евгений Рыжков. Viva64: что это и для кого?
Аннотация. Viva64 (www.Viva64.com) - это инструмент для разработчиков программ. С его помощью можно упростить перенос кода с 32-битных Windows-систем на 64-битные.

Андрей Карпов. 64 бита для Си++ программистов: от /Wp64 к Viva64.
Аннотация. Развитие рынка 64-битных решений поставило новые задачи в области их верификации и тестирования. В статье говорится об одном из таких инструментов - Viva64. Это lint-подобный статический анализатор Си/Си++ кода, предназначенный специально для выявления ошибок, связанных с особенностями 64-битных платформ. Освещены предпосылки для создания данного анализатора и отражена его связь с режимом "Detect 64-Bit Portability Issues" в Си++ компиляторе Visual Studio 2005.

Андрей Карпов, Евгений Рыжков. Сущность библиотеки анализа кода VivaCore.
Аннотация. Статья знакомит разработчиков с библиотекой VivaCore, предпосылками ее создания, возможностями, структурой и областями применения. Данная статья была написана параллельно с разработкой библиотеки VivaCore и поэтому отдельные детали ее конечной реализации могут отличаться от описанных здесь свойств. Но это не помешает разработчикам познакомиться с общими принципами работы библиотеки, механизмами анализа и обработки текстов программ на языке Си и Си++.

Андрей Карпов. Использование библиотеки анализа кода OpenC++: модификации, улучшения, исправления ошибок.
Аннотация. Статья представляет интерес для разработчиков, использующих или планирующих использовать библиотеку OpenC++ (OpenCxx). Автор рассказывает о своем опыте улучшения библиотеки OpenC++ и модификации библиотеки для решения специализированных задач.

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

Андрей Карпов, Евгений Рыжков. Краткое описание библиотеки анализа кода VivaCore.
Описание. Наша команда, занимаясь исследованиями в области статического анализа и работая над созданием инструмента Viva64, пришла к выводу, что большая часть разработанных структур и алгоритмов может быть выделена в библиотеку и использована сторонними разработчиками для создания новых программных продуктов. Эта библиотека получила название - VivaCore.

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

Андрей Карпов, Евгений Рыжков. Разработка ресурсоемких приложений в среде Visual C++.
Аннотация. Статья познакомит разработчиков прикладного программного обеспечения с задачами, которые ставит перед ним массовое внедрение многоядерных 64-битных вычислительных систем, знаменующих революционное увеличение вычислительной мощности, доступное рядовому пользователю. Будут рассмотрены вопросы эффективного использования аппаратных ресурсов для решения повседневных прикладных задач в рамках операционной системы Windows x64.

Андрей Карпов. 64 бита, /Wp64, Visual Studio 2008, Viva64 и все, все, все...
Аннотация. Данная статья ставит своей задачей ответить на ряд вопросов, касающихся безопасного переноса Си/Си++ кода на 64-битные системы. Статья написана как ответ на часто обсуждаемую в форумах тематику, связанную с использованием ключа /Wp64 и инструмента Viva64.

Андрей Карпов, Евгений Рыжков. Преимущества использования Viva64.
Аннотация. Цель данной рекламной статьи - показать преимущества от использования инструмента Viva64 в жизненном цикле разработки программного обеспечения.

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

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

Алексей Колосов. Применение статического анализа при разработке программ.
Аннотация. Статический анализ - это способ проверки исходного кода программы на корректность. Процесс статического анализа состоит из трех этапов. Сначала анализируемый код разбивается на лексемы - константы, идентификаторы, и т. д. Эта операция выполняется лексером. Затем лексемы передаются синтаксическому анализатору, который выстраивает по этим лексемам дерево кода. Наконец, проводится статический анализ построенного дерева. В данной обзорной статье приведено описание трех методов статического анализа: анализ с обходом дерева кода, анализ потока данных и анализ потока данных с выбором путей.

Андрей Карпов, Евгений Рыжков. Применение технологии статического анализа кода при разработке параллельных программ.
Аннотация. В статье рассматривается вопрос применения статических анализаторов кода в современных процессах разработки параллельных программ. Появившись в 70-80-х годах как дополнение к компиляторам, статические анализаторы перестали пользоваться популярностью у разработчиков в 90-х годах. Вероятно, причиной этого стало повышение качества диагностики ошибок компиляторами. Однако, в 2000-х годах интерес к статическим анализаторам кода вновь начал расти. Это объясняется тем, что были созданы новые статические анализаторы кода, которые начали выявлять достаточно сложные ошибки в программах. Если статические анализаторы прошлого позволяли, например, обнаружить использование неинициализированной переменной, то современные статические анализаторы подходят к тому, чтобы обнаруживать небезопасный доступ к данным из нескольких потоков. Современным направлением развития статических анализаторов стало их применение для диагностики ошибок в параллельных программах. В работе рассмотрены ситуации, в которых применение таких инструментов позволяет существенно упростить создание параллельных программных решений.
Ответить с цитированием
  (#2 (permalink)) Старый
Garik Garik вне форума
Member
 
Сообщений: 6,201
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 07.06.2002
По умолчанию 08.04.2008, 19:58

При желании Вы можете разместить Ваши статьи на этом сайте.
Если такой вариант Вас интересует, напишите мне личное сообщение, я расскажу, как это можно сделать.
Ответить с цитированием
  (#3 (permalink)) Старый
Wanderer2008 Wanderer2008 вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 08.04.2008
По умолчанию 28.02.2009, 10:59

Вот ссылки еще на некоторые статьи. Те статьи, которые понравятся, Вы также можете разместить на сайте www.progz.ru.

Андрей Карпов. Сравнение диагностических возможностей анализаторов при проверке 64-битного кода
Аннотация. В статье производится сравнение специализированного статического анализатора Viva64 со статическими анализаторами общего назначения Parasoft C++Test и Gimpel Software PC-Lint. Сравнение производится в рамках задачи переноса 32-битного Си/Си++ кода на 64-битные системы или разработки нового кода с учетом особенностей 64-битной архитектуры.

Андрей Карпов. Построение систем автоматического протоколирования Си/Си++ кода
Аннотация. Иногда единственным методом отладки является использование протоколирования событий приложения. К недостаткам протоколирования (логирования) можно отнести большой объем кода, который приходится писать вручную для сохранения всей необходимой информации. В статье рассматривается методика, позволяющая построить систему автоматического протоколирования кода на языке Си/Си++.

Алексей Колосов, Евгений Рыжков, Андрей Карпов. 32 подводных камня OpenMP при программировании на Си++
Аннотация. С распространением многоядерных систем задача параллельного программирования становится все более и более актуальной. Данная область, однако, является новой даже для большинства опытных программистов. Существующие компиляторы и анализаторы кода позволяют находить некоторые ошибки, возникающие при разработке параллельного кода. Многие ошибки никак не диагностируются. В данной статье приводится описание ряда ошибок, приводящих к некорректному поведению параллельных программ, созданных на основе технологии OpenMP.

Андрей Карпов, Евгений Рыжков. Описание VivaVisualCode
Аннотация. В данной статье рассмотрена программа VivaVisualCode, демонстрирующая использование библиотеки VivaCore. Программа VivaVisualCode графически отображает дерево разбора для вводимого исходного кода на языке Си++.

Андрей Карпов, Евгений Рыжков. Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Windows.
Аннотация. В результате появления на рынке персональных компьютеров 64-битных процессоров перед разработчиками программ возникает задача переноса старых 32-битных приложений на новую платформу. После переноса кода приложения высока вероятность его некорректной работы. В статье рассмотрены вопросы, связанные с верификацией и тестированием программного обеспечения. Обозначены сложности, с которыми может столкнуться разработчик 64-битных Windows приложений и пути их преодоления.

Андрей Карпов. Это сложно
Аннотация. В статье рассматривается проблема превышения сроков создания программ, как результат самообмана, что программирование это просто, и даже еще проще.

Андрей Карпов. Как появилась библиотека VivaCore
Аннотация. В статье изложены основные предпосылки и этапы создания открытой библиотеки VivaCore, предназначенной для анализа кода и создания систем метапрограммирования. Проект VivaCore является развитием библиотеки OpenC++, в котором реализована поддержка специфических для Visual Studio 2005/2008 особенностей реализации языка Си и Си++.

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

Андрей Карпов. Оптимизация 64-битных программ
Аннотация. В статье рассмотрен ряд способов повышения производительности 64-битных Windows приложений.

Евгений Рыжков, Андрей Карпов. Архитектура AMD64 (EM64T)
Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности, достоинства и недостатки.

Евгений Рыжков. VivaMP - инструмент для OpenMP
Аннотация. Инструмент для программистов VivaMP предназначен для помощи разработчикам параллельных программ на базе OpenMP. В статье приведен краткий обзор программного продукта.

Андрей Карпов. Тестирование параллельных программ
Аннотация. Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.

Андрей Карпов, Евгений Рыжков. OpenMP и статический анализ кода
Аннотация. В статье рассмотрены принципы, положенные в основу реализации статического анализатора кода VivaMP. Приведенный в статье набор логических условий проверки позволяет диагностировать ряд ошибок в параллельных программах, созданных на основе технологии OpenMP.

Андрей Карпов. Расчет минимального времени выполнения задач при оптимальном распределении нагрузки между процессорами
Аннотация. В статье кратко рассмотрены методы расчета минимального времени выполнения задач при оптимальном распределении нагрузки между процессорами. Приведенные методы могут применяться для однородных и неоднородных вычислительных систем.

Антон Миронов, Андрей Карпов. Параллельные алгоритмы обработки данных
Аннотация. Статья посвящена вопросам использования параллельных алгоритмов для создания современных эффективных программных решений. Актуальность данной тематики обусловлена снижением темпов роста тактовой частоты микропроцессоров и возрастанием внимания к использованию всех возможностей многоядерных и многопроцессорных систем. В работе рассмотрен ряд базовых параллельных алгоритмов, таких как умножение матриц, параллельная сортировка Бэтчера, метод Гаусса решения систем линейных алгебраических уравнений и так далее. Приведена реализация этих алгоритмов c использованием языка программирования Си++.

Андрей Карпов. Константин Книжник: статический анализ, взгляд со стороны
Аннотация. Статья представляет интервью, взятое у Константина Книжника, сотрудником компании "Системы программной верификации" Андреем Карповым. Затронуты вопросы статического анализа кода, актуальность решений в этой области, а также перспективы использования статического анализа при разработке параллельных приложений.

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

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

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Коннект к TFS из ASP.NET приложения ДедПихто .NET 11 16.02.2009 21:15
ошибка приложения Lobo Компьютерная безопасность 15 11.02.2009 17:21
Приложения Windows. AsD Библиотека 0 17.07.2008 09:45
Beauty перевод статьи _sg Lisp 2 13.03.2007 15:15
Иконка для приложения zsv Delphi 22 13.01.2007 14:17
Direct Sound статьи на русском языке imported_Devil Visual C++ 0 11.10.2006 21:55
Памятка для пишущих статьи Shunix Юмор 1 01.12.2003 20:53
Управление стеком где найти в интернете статьи dim .NET 0 07.11.2003 11:54
Где есть статьи по исполь зованию Tidpop3 компонента Anonymous Delphi 4 26.09.2003 16:18
Где найти статьи для новичков, изучающиих DLL Skywalker-cyb Visual C++ 13 27.04.2003 03:46



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов