Алгоритмы и программный инструмент построения эквивалентных представлений исходных текстов программ
Автор: Ковалевский Алексей Анатольевич, Пустыгин Алексей Николаевич
Журнал: Инфокоммуникационные технологии @ikt-psuti
Рубрика: Технологии компьютерных систем и сетей
Статья в выпуске: 4 т.13, 2015 года.
Бесплатный доступ
В статье рассмотрен прототип программного инструмента статического анализа программных систем, основанный на специальном наборе данных, полученном из исходного текста программ с помощью компилятора с открытым исходным кодом. Прототип позволяет получать эквивалентные представления путем линейных и нелинейных преобразований этого набора данных. Пользовательский интерфейс построен на языке запросов, синтаксис которого позволяет задавать произвольные сочетания доступных преобразований с дополнительными параметрами, соответствующими целям анализа. Варианты преобразований определяются в конфигурационном файле, который представляет собой XML-документ. Прототип также позволяет выполнять анализы над полученными эквивалентными представлениями. В статье в качестве примера описан «температурный» анализ синтаксической перегруженности строк и сложности блоков исходного текста в контексте потока управления. Прототип был протестирован на проекте с открытым исходным текстом - библиотеке для разбора XML-документов.
Промежуточное представление, исходный код, поток данных, поток управления, синтаксическое дерево
Короткий адрес: https://sciup.org/140191788
IDR: 140191788 | DOI: 10.18469/ikt.2015.13.4.06
Список литературы Алгоритмы и программный инструмент построения эквивалентных представлений исходных текстов программ
- Инструменты статического анализа кода//URL: http://www.viva64.com/ru/t/0074/(д.о. 20.06.2015).
- Ошнуров Н.А., Пустыгин А.Н., Ковалевский А.А. Построение универсального промежуточного представления исходных текстов на языках C++ и C#//Доклады ТГУСУР. Т. 33, № 3, 2014. -С. 135-139.
- Ковалевский А.А., Пустыгин А.Н., Ошнуров Н.А. Построение эквивалентного представления исходных текстов программ в форме, пригодной для выполнения анализов потока данных в потоке управления//Известия ЮЗГУ. Серия управление, вычислительная техника, информатика. медицинское приборостроение. №1 (14), 2015. -C. 28-34.
- MultiCrossAnalyzer//URL: https://yadi.sk/d/a5GbG-1uhLbG2 (д.о.19.06.2015).
- Pugixml v1.2//URL: http://pugixml.org/2012/05/01/pugixml-1.2-release.html (д.о. 22.06.2015).