Метод визуализации графа потоков управления
Автор: Михайлов Андрей Анатольевич, Хмельнов Алексей Евгеньевич
Журнал: Вестник Бурятского государственного университета. Математика, информатика @vestnik-bsu-maths
Рубрика: Информационные системы и технологии
Статья в выпуске: 2, 2018 года.
Бесплатный доступ
В работе предложен метод визуализации графа потоков управления, позволяющий анализировать сложные графовые представления программ, полученные после обработки исходного кода компилятором либо в процессе декомпиляции исполняемого кода. Метод основан на выделении в управляющем графе регионов с одним входным и одним выходным узлом с последующей их заменой на абстрактные узлы. Таким образом, в результате выполнения семантически эквивалентных преобразований исходный граф сворачивается в один абстрактный узел, содержащий в себе иерархию выделенных регионов, каждому из которых ставится в соответствие один из предопределенных шаблонов отображения. В итоге задача визуализации управляющего графа сводится к описанию правил отображения шаблонов. Предложенный метод позволяет выделять в управляющем графе подграфы, соответствующие высокоуровневым операторам языков программирования, что дает возможность использовать изобразительные соглашения, принятые при рисовании блок-схем.
Визуализация, управляющий граф, структурный анализ, исходный код, декомпиляция, блок-схема, машинный код, программа, компилятор, доминатор
Короткий адрес: https://sciup.org/148308902
IDR: 148308902 | УДК: 004.431:004.432:004.436 | DOI: 10.18101/2304-5728-2018-2-50-62
Control flow graph visualization
The article presents a technique for analyzing and visualizing the control flow graph of a compiled software. The method is based on allocating regions with one input and one output node in the control graph with their subsequent replacement by abstract nodes. Thus, as a result of performing semantically equivalent transformations, the original graph is collapsed into one abstract node that contains a hierarchy of selected regions, each of which is associated with one of the predefined display patterns. As a result, the task of visualization of the control graph is reduced to the description of rules for displaying patterns. The proposed method makes it possible to recognize the high-level programming structures and user statements to construct a flow-chart notation of the original program.
Список литературы Метод визуализации графа потоков управления
- Frоhlich М., Werner М. Demonstration of the Interactive Graph - Visualization Sytem daVinci // LNCS 894. 1995. P. 266-269.
- Sander G. Graph layout through the VCG tool // LNCS 894. 1995. P. 194-205.
- Himsolt M. Graphlet system (system demonstration) // LNCS 1990. 1996. P. 233-240.
- Lauer H., Ettrich M., Soukup К. GraVis system demonstration // LNCS 1353. 1997. P. 344-349.
- Bridgeman S., Garg A., Tamassia R. A graph drawing and translation service on the WWW // LNCS 1190. 1996. P. 45-52.