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: | , |
| 格式: | 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 |
