Please use this identifier to cite or link to this item: http://dspace.onu.edu.ua:8080/handle/123456789/26619
Title: Виявлення проблемних ділянок коду за допомогою інструментарію статичного аналізу
Other Titles: Source code error detection using the static analysis tools
Authors: Кукішев, Олексій Олексійович
Citation: Кукішев, О. О. Виявлення проблемих ділянок коду за допомогою : дипломна робота бакалавра / О. О. Кукішев. – Одеса, 2019. – С. 38.
Issue Date: 2019
Publisher: Одеський національний університет імені І. І. Мечникова
Keywords: 6.050102 комп’ютерна інженерія
програмний код
попередження компілятора
статичний аналіз
Abstract: В процесі написання програмного коду на C та C++ програмісти допускають помилки (синтаксичні і семантичні). Багато із цих помилок виявляються завдяки попередженням компілятора, тестам, попередженням зі сторони IDE та інше. Але навіть при використанні всіх цих мір помилки часто залишаються непоміченими. Програмісти не завжди можуть швидко проаналізувати код на дефекти, тому використовують інструменти статичного аналізу. Метою дипломної роботи є доповнення інструментарію статичного аналізу програмного коду С++ для виявлення проблемних ділянок коду в великих проектах. Для досягнення поставленої мети проаналізовані існуючі інструменти статичного аналізу. На основі результатів аналізу існуючих рішень обраний статичний аналізатор – Clang Tidy. Згідно результатів, Clang Tidy має лише два недоліка – відсутність дружнього інтерфейсу та інтеграції з СКВ. Обидва зазначених вище недоліку вдалося подолати за рахунок автоматичної обробки результатів роботи аналізатора Clang Tidy і СКВ Git, яка здійснюється наступним чином: 1) зчитуються результати роботи статичного аналізатора коду Clang Tidy – проблемні ділянки коду; 2) за допомогою СКВ Git виявляються автори проблемних ділянок коду; 3) на основі отриманих даних генерується звіт, який зручно використовувати для перегляду дефектів коду. Він містить проблемні ділянки коду із зазначенням їх авторів. Розроблена програма призначена для аналізу програмних проектів, написаних на С++ і складання докладного звіту з авторами помилками коду.
В процессе написания программного кода на C и C++ программисты допускают ошибки (синтаксические и семантические). Многие из этих ошибок определяются благодаря предупреждением компилятора, отладочным макроса, тестам, предупреждением со стороны IDE и прочее. Но даже при использовании всех этих мер ошибки часто остаются незамеченными. Программисты не всегда могут быстро проанализировать код на дефекты, поэтому используют инструменты статического анализа. Целью работы является дополнение инструментария статического анализа программного кода С++ для выявления проблемных участков кода в больших проектах. Для достижения поставленной цели проанализированы существующие инструменты статического анализа. На основе результатов анализа существующих решений выбран статический анализатор – Clang Tidy. Согласно результатам, Clang Tidy имеет лишь два недостатка – отсутствие дружественного интерфейса и интеграции с СКВ. Оба указанных выше недостатка преодолены за счет автоматической обработки результатов работы анализатора Clang Tidy и СКВ Git, которая осуществляется следующим образом: 1) считываются результаты работы статического анализатора кода Clang Tidy – проблемные участки кода; 2) с помощью СКВ Git определяются авторы проблемных участков кода; 3) на основе полученных данных генерируется отчет, который удобно использовать для просмотра дефектов кода. Он содержит проблемные участки кода с указанием их авторов. Разработанная программа предназначена для анализа программных проектов написанных на С++ и составления подробного отчета с авторами ошибок кода.
In the process of writing code for C and C++, programmers make mistakes (semantic and syntactic errors). Many of these errors are detected due to a compiler warning, debugging macros, tests, an IDE warning, and more. But even when using all these measures, errors often remain unnoticed. Programmers may not always quickly analyze the code for defects, so use static analysis tools. The purpose of the thesis is to supplement the tools of static analysis of the C ++ code to identify problem areas of the code in large projects. To achieve this goal, existing instruments of static analysis have been analyzed according to some criteria. Based on the results of the analysis of existing solutions, the static analyzer Clang Tidy was selected. According to the results, Clang Tidy has only two drawbacks – the lack of a friendly interface and integration with VCS. Both of the above disadvantages were overcome due to automatic processing of the results of the Clang Tidy analyzer and VCS Git, which is carried out as follows: 1) the results of the Clang Tidy static code analyzer are read – problem areas of the code; 2) with the help of VCS Git reveal the authors of problem areas of the code; 3) a report is generated on the basis of the received data, which is convenient to use for viewing defects in the code. It contains problem areas of the code with the indication of their authors. The developed program is designed to analyze software projects written in C++ and compile a detailed report with the author's code errors.
URI: http://dspace.onu.edu.ua:8080/handle/123456789/26619
Appears in Collections:Бакалаври МФІТ

Files in This Item:
File Description SizeFormat 
6.050102_Kukishev Oleksii Oleksiiovych_1.pdf165.77 kBAdobe PDFThumbnail
View/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.