Тип работы:
Предмет:
Язык работы:


Разработка кроссплатформенного статического анализатора кода C#

Работа №160390

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы67
Год сдачи2017
Стоимость4800 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
9
Не подходит работа?

Узнай цену на написание


Реферат
Перечень условных обозначений 5
Введение 6
1 Анализ предметной области 8
1.1 Актуальность статического анализа кода 8
1.2 Обзор готовых решений 10
2 Анализ технического задания 14
2.1 Анализ требований к разработке 14
2.2 Анализ функциональных требований 16
2.3 Анализ нефункциональных требований 20
3 Используемые технологии и средства разработки 22
3.1 Язык программирования 22
3.2 Инструментальные средства проектирования 22
3.3 Интегрированная среда разработки 22
3.4 Программная платформа 23
3.5 Средства создания графического интерфейса 24
4 Проектирование и разработка 27
4.1 Графический интерфейс пользователя 27
4.2 Статический анализатор 33
4.3 Разработка диагностических правил 37
5 Функциональное тестирование 42
Заключение 49
Список использованной литературы 50
Приложение. Листинг программы 53


Даже самые высококвалифицированные разработчики ПО совершают ошибки. Ошибки могут быть различными: от простейших опечаток и до логических ошибок в алгоритмах. Чем раньше ошибки в коде приложений будут обнаружены, тем дешевле стоит их исправление.
Обзор кода - один из самых старых и надежных методов выявления дефектов. Он заключается в совместном внимательном чтении исходного кода и высказывании рекомендаций по его улучшению. В процессе чтения кода выявляются ошибки или участки кода, которые могут стать ошибочными в будущем. Единственный существенный недостаток методологии обзора кода, это крайне высокая цена: необходимо регулярно собирать нескольких программистов для обзора нового кода или повторного обзора кода после внесения рекомендаций. Получается, что с одной стороны хочется регулярно осуществлять обзор кода, а с другой - это слишком дорого. Компромиссным решением являются инструменты статического анализа кода, способные помочь разработчикам ПО автоматизировать процесс поиска дефектов в программном коде.
Существует целый класс инструментов статического анализа кода, позволяющих выявить на этапе кодирования значительный процент логических ошибок и простых опечаток [1, 2]. Эти инструменты осуществляют более высокоуровневую проверку кода, опираясь на знание некоторых паттернов кодирования, используют эвристические алгоритмы и имеют гибкую систему настройки.
Статический анализ кода - это процесс выявления ошибок и недочетов в исходном коде программ. Его можно рассматривать как автоматизированный процесс обзора кода. Использование специализированных инструментов статического анализа приносит большую пользу для процесса разработки: они помогают бороться со многими ошибками и позволяют контролировать качество процесса разработки в целом.
Способы использования полученной в ходе анализа информации также различны - от выявления мест, возможно содержащих ошибки, до формальных методов, позволяющих математически доказать какие-либо свойства программы (например, соответствие поведения спецификации).
В данной выпускной квалификационной работе требуется реализовать программу статического анализа исходного кода на языке программирования C#. Актуальность работы заключается в том, что C# является одним из самых востребованных языков и находится в списке самых популярных языков программирования. В настоящее время, с появлением таких технологий как Mono, и .NET Core, разработка программного обеспечения на языке C# возможна не только в операционной системе Microsoft Windows, она распространилась и набирает популярность на других операционных системах. Однако, существующие инструменты анализа кода на языке C# не являются пригодными для внедрения в процесс разработки на операционных системах, отличных от Microsoft Windows. Эти анализаторы не являются кроссплатформенными приложениями и не имеют прямых аналогов на других ОС. Из этого следует, что разработка кроссплатформенного статического анализатора - вопрос актуальный и требующий скорейшего разрешения.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе выполнения выпускной квалификационной работы были проанализированы статические анализаторы кода на языке программирования C#. В результате анализа выяснилось, что у подобных решений присутствует ряд недостатков.
Был разработан кроссплатформенный статический анализатор кода C#, отвечающий требованиям технического задания, в котором были устранены недостатки аналогичных решений и реализованы все функциональные требования.
Выполненное функциональное тестирование разработанного статического анализатора показало, что программа полностью работоспособна и доказало корректность её работы.
Разработанную программу следует применять в процессе современной разработки и тестирования приложений на платформе .NET для поиска ошибок в программном коде на языке программирования C#.


1. Глухих, М.И. Программная инженерия: Обеспечение качества программных средств методами статического анализа [Текст] / М.И. Глухих, В.М. Ицыксон. - СПб: Изд. Политехн. ун-та, 2011. - 149 с.
2. Методы анализа и обеспечения качества ПО [Электронный ресурс] / Кафедра компьютерных систем и программных технологий СПбПУ; Ицыксон В.М. - Режим доступа: http://kspt.icc.spbstu.ru/course/QA, свободный. (дата обращения 24.03.2017 г.).
3. Индекс TIOBE: Популярность языка программирования C# [Электронный ресурс]. - Режим доступа: https://www.tiobe.com/tiobe-index, свободный. (дата обращения 25.03.2017 г.).
4. Простая ошибка при кодировании - не значит нестрашная ошибка [Электронный ресурс] / Блог разработчиков PVS-Studio. - Режим доступа: https ://hаbrаhаbr.ru/cоmpаny/pvs-studiо/blоg/326846, свободный. (дата обращения 26.03.2017 г.).
5. Статический анализ кода [Электронный ресурс] / Словари и
энциклопедии на Академике. - Режим доступа:
http://dic.аcаdеmiс.ru/dic.nsf/ruwLki/129701, свободный. (дата обращения 22.02.2017).
6. Статический анализ кода [Электронный ресурс] / Intel Corp. - Режим
доступа: https://sоftwаrелntel.cоm/ru-ru/аrticles/Stаtiс-cоdе-аnаlysis-ru,
свободный. (дата обращения 22.02.2017).
7. Разрушаем мифы о статическом анализе кода [Электронный ресурс] / Блог разработчиков PVS-Studio. - Режим доступа: https ://hаbrаhаbr.ru/cоmpаny/pvs-studiо/blоg/131551, свободный. (дата обращения 26.03.2017 г.).
8. ReSharper - расширение для Microsoft Visual Studio [Электронный ресурс] / JetBrains: Профессиональные инструменты разработки программного обеспечения. - Режим доступа: http://jetbrains.ru/products/resharper/, свободный. (дата обращения 27.03.2017 г.).
9. FxCop - инструмент для проверки кода [Электронный ресурс] / Microsoft
Corp. - Режим доступа: https://msdn.microsoft.com/ru-
ru/library/bb429476(v=vs.80).aspx, свободный. (дата обращения 27.03.2017 г.).
10. Coverity - инструмент для статического анализа кода [Электронный ресурс] / Synopsys, Inc - Режим доступа: https://www.synopsys.com/software-integrity/security-testing/static-analysis- sast.html, свободный. (дата обращения 27.03.2017 г.).
11. PVS-Studio: статический анализатор кода для C, C++ и C# [Электронный ресурс] / Компания PVS-Studio - Режим доступа: https://www.vivа64.com/ru/pvs-studio, свободный. (дата обращения 27.03.2017 г.).
12. Кроссплатформенные приложения против нативных: сравнение и выбор подходов [Электронный ресурс]. - Режим доступа: https://vc.ru/p/сross- native, свободный. (дата обращения 29.03.2017 г.).
13. Microsoft открывает исходный код .NET и делает его кроссплатформенным [Электронный ресурс]. - Режим доступа: https://techcrunch.com/2014/11/12/microsoft-takes-net-open-source-and-cross- platform, свободный. (дата обращения 29.03.2017 г.).
14. Существует ли 64-битная версия Visual Studio? Ограничения 32-битной версии и затраты на портирование [Электронный ресурс]. - Режим доступа: https://blogs.msdn.com/ricom/2009/06/10/visual-studio-why-is-there- no-64-bit-version-yet/, свободный. (дата обращения 29.03.2017 г.).
15. Введение в Roslyn. Использование для разработки инструментов статического анализа [Электронный ресурс]. - Режим доступа: https://www.vivа64.com/еn/b/0399/, свободный. (дата обращения 29.03.2017 г.).
... всего 21 источник


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ