Your SlideShare is downloading. ×
Краткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCore
Краткое описание библиотеки анализа кода VivaCore
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Краткое описание библиотеки анализа кода VivaCore

106

Published on

Наша команда, занимаясь исследованиями в области статического анализа и работая над созданием инструмента Viva64, пришла к выводу, что большая часть разработанных структур и алгоритмов может быть …

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
106
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Краткое описание библиотекианализа кода VivaCoreАвторы: Андрей Карпов, Евгений РыжковДата: 12.01.2008АннотацияНаша команда, занимаясь исследованиями в области статического анализа и работая надсозданием инструмента Viva64, пришла к выводу, что большая часть разработанных структур иалгоритмов может быть выделена в библиотеку и использована сторонними разработчиками длясоздания новых программных продуктов. Эта библиотека получила название VivaCore.Назначение библиотеки VivaCoreVivaCore предназначена для разработки систем в области статического анализа, тестирования иверификации кода программ на языке Си/Си++ [2, 3, 4, 5]. Так как язык Си++ является одним изсамых сложных для анализа, создание инструментальных средств для работы с ним зачастуюприводит к большим временным затратам на механизм работы с кодом. Библиотека VivaCoreпозволяет ускорить выполнение этой части проекта и дает возможность разработчикамсосредоточиться на создании непосредственно инструмента, а не на реализации алгоритмовразбора кода.Другими словами, библиотека VivaCore предназначена для экономии времени при разработкепрограммных систем, связанных с обработкой исходных текстов программ.Сферы применения библиотеки VivaCoreБиблиотека может быть интересна организациям, которые создают или планируют создаватьинструменты для работы с кодом. Кратко перечислим возможные области для создания новыхинструментальных средств на основе библиотеки VivaCore: • Software reengineering tools: refactoring, source code transformation, code optimization; • Quality assurance tools: software metrics, code standard checking, coverage analysis, code analyzers; • Source code documentation; • Software migration tools: platform and operation systems migration.VivaCore с точки зрения разработчикаVivaCore - это библиотека для анализа Си/Си++ кода, позволяющая производить разбор, какотдельных языковых конструкций, так и целых файлов. Функциональная схема библиотекипоказана на рисунке ниже. Библиотека дает возможность произвести специальнуюпредобработку исходных файлов, разбить текст программы на токены, построить дерево разбораи осуществить по нему навигацию. Библиотека имеет механизм метапрограммной обработки, что
  • 2. позволяет написать свое расширение языка Си/Си++, а затем транслировать метаконструкции вконструкции языка Си/Си++. На разных стадиях обработки исходного кода и по завершениюработы библиотека VivaCore может сохранять различную информацию и преобразованный текстпрограммы в формате XML или ином виде.
  • 3. Рисунок 1 - Компоненты VivaCore.VivaCore является развитием и расширением открытой библиотеки OpenC++ [6]. Хотя OpenC++ неявляется полноценным парсером и не поддерживает современный стандарт языка Си++, на ееоснове создан ряд интересных инструментов. Например: среда исполнения OpenTS [7] для языкапрограммирования T++ (разработка Института программных систем РАН), инструмент Synopsis дляподготовки документации по исходному коду [8], статический анализатор кода Viva64 [ 1].Поскольку OpenC++ на данный момент не развивается, то VivaCore можно назвать ее приемником.Не следует путать VivaCore с профессиональными многофункциональными парсерами Си/Си++кода. Если пользователю нужен полноценный парсер переднего плана (front-end), полностьюподдерживающий современный стандарт и позволяющий создавать свой компилятор подспецифическую платформу, то ему стоит обратить свое внимание на GCC или дорогиекоммерческие решения. Например, такие решения предоставляет Semantic Designs [9].Но если компания разрабатывает инструмент, требующий классического анализа Си/Си++ кода, торациональным решением будет использование удобной специализированной библиотеки кода,которой и является VivaCore.Библиографический список 1. Evgeniy Ryzhkov. Viva64: what is it and for whom is it meant? 2. http://viva64.com/art-1-1-2081052208.html 3. Wikipedia. Static code analysis. http://www.viva64.com/go.php?url=12 4. Scott Meyers and Martin Klaus. A First Look at C++ Program Analyzers. http://www.viva64.com/go.php?url=13 5. Jack Ganssle. The value proposition - unfulfilled. http://www.viva64.com/go.php?url=15 6. Walter W. Schilling, Jr. and Mansoor Alam. Integrate Static Analysis Into a Software Development Process. http://www.viva64.com/go.php?url=14 7. OpenC++ library. http://www.viva64.com/go.php?url=16 8. What is OpenTS? http://www.viva64.com/go.php?url=17 9. Synopsis: A Source-code Introspection Tool. http://www.viva64.com/go.php?url=18 10. Semantic Designs site. http://www.viva64.com/go.php?url=19

×