Тема: Разработка кроссплатформенного статического анализатора кода C#
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Перечень условных обозначений 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#, отвечающий требованиям технического задания, в котором были устранены недостатки аналогичных решений и реализованы все функциональные требования.
Выполненное функциональное тестирование разработанного статического анализатора показало, что программа полностью работоспособна и доказало корректность её работы.
Разработанную программу следует применять в процессе современной разработки и тестирования приложений на платформе .NET для поиска ошибок в программном коде на языке программирования C#.





