Итальянская компания E.G.S. S.r.l. занимается разработкой решений в области моделирования трехмерных объектов на базе триангулированных сеток.
Итальянская компания E.G.S. S.r.l. занимается разработкой решений в области моделирования трехмерных объектов на базе триангулированных сеток.
Для этой цели она использует собственную библиотеку компонентов Leios Components. Когда компании E.G.S. S.r.l. понадобилось выпустить 64-битную версию своих компонентов, она обратилась к ООО "СиПроВер" как к компании, специализирующейся на разработке анализаторов кода для 64-битных и параллельных приложений.
Библиотека компонентов Leios Components представляет собой набор различных библиотек:
Общий объем исходного кода составляет 13 мегабайт (440 000 строк кода), решение состоит из нескольких десятков проектов. Очевидно, что перенос такого объема кода на 64-битную систему вручную представляется затруднительным, особенно учитывая сложность математических алгоритмов.
Для того чтобы представить себе тип кода, который содержится в библиотеке, достаточно посмотреть основные возможности трех указанных компонентов.
Это расширение библиотеки для управления необработанными NURBS поверхностями при использовании подгонки.
Эта библиотека расширения осуществляет:
Компания E.G.S. S.r.l. занимается разработкой своих решений с 2002 года, когда в Италии был открыт ее офис. С самых ранних этапов разработки компании были ориентированы на высокопроизводительные настольные системы.
Минимальный компьютер, на котором работает решение E.G.S. S.r.l. имеет следующую конфигурацию (по данным на начало 2008 года):
В связи с ростом обрабатываемых объемов данных, разумеется, ограничения на оперативную память 32-битной версии (не более 3 гигабайт) оказались недостаточными для серьезных проектов. Поэтому необходимость выпуска 64-битной версии не вызывала вопросов у руководства E.G.S. S.r.l.. Однако под вопросом была возможность быстрого выпуска подобной версии. Вручную просмотреть указанный объем кода практически невозможно.
На помощь пришли специалисты компании ООО "СиПроВер", которые использовали для миграции кода на 64-битную платформу анализатор кода Viva64.
Программный продукт Viva64 обеспечивает диагностику ошибок, специфичных для 64-битных Windows-приложений. Viva64 представляет собой lint-подобный статический анализатор Си/Си++ кода. Области применения Viva64: проверка новых 64-битных программных решений, помощь в переносе 32-битного программного кода на 64-битную систему, оптимизация кода с учетом особенностей 64-битной архитектуры.
Используя Viva64, специалисты ООО "СиПроВер" обеспечили быструю миграцию библиотеки компонентов, обнаружив и исправив проблемные места в исходном коде библиотеки. В результате в процессе миграции такой большой и сложной библиотеки были задействованы всего лишь несколько человек.
Миграция кода с использованием Viva64 позволила сэкономить много времени, которое бы пришлось затратить на ручной просмотр кода. А главное не допустить новых программных ошибок, которые возможны в процессе миграции на новую платформу.
Основные проблемные моменты, выявленные в процессе анализа кода:
Все обнаруженные с помощью анализатора Viva64 проблемы были исправлены, в результате чего 64-битная версия Leios Studio была выпущена в срок с высоким качеством.
E.G.S. S.r.l. - частная компания, миссией которой является разработка программ и решений для развитой обработки результатов 3D сканирования. Офисы компании были открыты в Италии и в Москве в 2002 году. Сайт: http://www.egsolutions.com.