Analyzing C/C++ code entities and relations for program understanding

This paper describes the static analysis tool for finding program entities, their metrics, and relations between entities. Program entities are files/directories (physical structure) and classes/functions/methods/global variables (logical structure). Relations are connections between entities, such...

全面介紹

書目詳細資料
發表在:Труды Института системного программирования РАН
Main Authors: A. . Belevantsev, E. . Velesevich
格式: Article
語言:英语
出版: Russian Academy of Sciences, Ivannikov Institute for System Programming 2018-10-01
主題:
在線閱讀:https://ispranproceedings.elpub.ru/jour/article/view/1090
_version_ 1848651570731810816
author A. . Belevantsev
E. . Velesevich
author_facet A. . Belevantsev
E. . Velesevich
author_sort A. . Belevantsev
collection DOAJ
container_title Труды Института системного программирования РАН
description This paper describes the static analysis tool for finding program entities, their metrics, and relations between entities. Program entities are files/directories (physical structure) and classes/functions/methods/global variables (logical structure). Relations are connections between entities, such as calls, inheritance, aggregation, reading/writing, inclusion. We describe the methods for developing such a tool for C/C++ languages based on open source components: LLVM/Clang compiler infrastructure, GNU Binutils linker and archiver. We are sketching the changes that were required to be made in the Clang compiler, and we discuss the analysis methods implemented in the LLVM analyzer. We briefly present the results of testing our tool on Android OS.
format Article
id doaj-e3f930efb305449394e67145894fcd34
institution Directory of Open Access Journals
issn 2079-8156
2220-6426
language English
publishDate 2018-10-01
publisher Russian Academy of Sciences, Ivannikov Institute for System Programming
record_format Article
spelling doaj-e3f930efb305449394e67145894fcd342025-11-03T00:31:02ZengRussian Academy of Sciences, Ivannikov Institute for System ProgrammingТруды Института системного программирования РАН2079-81562220-64262018-10-01272536410.15514/ISPRAS-2015-27(2)-41090Analyzing C/C++ code entities and relations for program understandingA. . Belevantsev0E. . Velesevich1ИСП РАНИСП РАНThis paper describes the static analysis tool for finding program entities, their metrics, and relations between entities. Program entities are files/directories (physical structure) and classes/functions/methods/global variables (logical structure). Relations are connections between entities, such as calls, inheritance, aggregation, reading/writing, inclusion. We describe the methods for developing such a tool for C/C++ languages based on open source components: LLVM/Clang compiler infrastructure, GNU Binutils linker and archiver. We are sketching the changes that were required to be made in the Clang compiler, and we discuss the analysis methods implemented in the LLVM analyzer. We briefly present the results of testing our tool on Android OS.https://ispranproceedings.elpub.ru/jour/article/view/1090понимание программllvmстатический анализметрики исходного кода
spellingShingle A. . Belevantsev
E. . Velesevich
Analyzing C/C++ code entities and relations for program understanding
понимание программ
llvm
статический анализ
метрики исходного кода
title Analyzing C/C++ code entities and relations for program understanding
title_full Analyzing C/C++ code entities and relations for program understanding
title_fullStr Analyzing C/C++ code entities and relations for program understanding
title_full_unstemmed Analyzing C/C++ code entities and relations for program understanding
title_short Analyzing C/C++ code entities and relations for program understanding
title_sort analyzing c c code entities and relations for program understanding
topic понимание программ
llvm
статический анализ
метрики исходного кода
url https://ispranproceedings.elpub.ru/jour/article/view/1090
work_keys_str_mv AT abelevantsev analyzingcccodeentitiesandrelationsforprogramunderstanding
AT evelesevich analyzingcccodeentitiesandrelationsforprogramunderstanding