SourceMeter - Википедия - SourceMeter

SourceMeter
Разработчики)ООО «ФронтЭндАРТ»
Стабильный выпуск
8.2 / 16 декабря 2016 г.; 3 года назад (2016-12-16)
Написано вC, C ++
Операционная системаКроссплатформенность
ЛицензияEULA
Интернет сайтwww.sourcemeter.com

SourceMeter это инструмент анализатора исходного кода, который может выполнять глубокие статический анализ программы из исходный код комплексных программ в C, C ++, Ява, Python, C #, и РПГ (AS / 400).[1] FrontEndART разработал SourceMeter на основе технологии Columbus.[2] исследованы и разработаны на факультете программной инженерии Сегедского университета.[3][4]

Фон

Во время статического анализа абстрактный семантический граф (ASG) состоит из языковых элементов исходного кода. Затем этот ASG обрабатывается различными инструментами в пакете для расчета показателей продукта.[5] как LLOC,[6] NLE или NOA, укажите повторяющийся код (скопированный код; клоны), нарушения правил кодирования и т. д.

SourceMeter может анализировать исходный код, соответствующий Java 8 и более ранним версиям, C / C ++, версиям RPG III и RPG IV (включая свободную форму), C # 6.0 и более ранним версиям и Python 2.7.8 и более ранним версиям. В случае C / C ++ SourceMeter поддерживает международный стандарт ISO / IEC 14882: 2011.[7] расширен несколькими новыми функциями из ISO / IEC 14882: 2014 и языком C, определенным стандартами ANSI / ISO 9899: 1990, ISO / IEC 9899: 1999 и ISO / IEC 9899: 2011. Помимо стандартных функций, также поддерживаются несколько специальных расширений GCC и Microsoft.

Функции

  • Точный и глубокий статический анализ, построение полных семантических графов, содержащих семантические грани (вызовы, ссылки), комментарии и т. Д.
  • 60+ показателей исходного кода (сложность, взаимосвязь, связность, наследование и т. Д.) На разных уровнях (пакет, пространство имен, класс, метод и т. Д.)
  • Дублирование типа 2 относительно границ синтаксиса
  • Показатели дублирования кода (стабильность, встроенность, дисперсия и т. Д.)
  • Обнаружение несогласованных изменений дубликатов
  • Проверка правил кодирования (Различия между нарушениями правил PMD и нарушениями правил FaultHunter )
  • Обнаружение уязвимостей безопасности на основе потока данных (SQL-инъекция, XSS и т. Д.)
  • Проверка нарушений правил на основе показателей
  • Проверка нарушений правил Android
  • Обнаружение исключений времени выполнения посредством выполнения символического кода, только для Java

Плагин SonarQube

Плагин SourceMeter за SonarQube Платформа является расширением платформы SonarQube с открытым исходным кодом для управления качеством кода. Плагин запускает SourceMeter с платформы SonarQube и загружает результаты анализа исходного кода SourceMeter в базу данных SonarQube. Этот подключаемый модуль имеет открытый исходный код и предоставляет все обычные результаты анализа кода SonarQube, дополненные множеством дополнительных метрик и детекторов проблем, предоставляемых инструментом SourceMeter. Плагин поддерживает языки C / C ++, Java, C #, Python и RPG.[8]

Рекомендации

  1. ^ Сёке, Габор; Надь, Чаба; Ференц, Рудольф; Дьимоти, Тибор (2014). «Пример рефакторинга крупномасштабных промышленных систем для эффективного улучшения качества исходного кода» (PDF). Вычислительная наука и ее приложения - ICCSA 2014. Конспект лекций по информатике. 8583. С. 524–540. Дои:10.1007/978-3-319-09156-3_37. ISBN  978-3-319-09155-6.
  2. ^ Арпад Бешедес, Рудольф Ференц, Тибор Дьимоти: «Колумб: подход обратной инженерии»
  3. ^ Департамент программной инженерии
  4. ^ Сегедский университет
  5. ^ Справочник по метрикам исходного кода
  6. ^ Иштван Сикет, Арпад Бешедес, Джон Тейлор: «Различия в определении и расчете метрики LOC в бесплатных инструментах»
  7. ^ SourceMeter в стандарте ISO C ++
  8. ^ Ференц Р., Ланго Л., Сикет И., Дьимоти Т .: "Подключаемый модуль Source Meter Sonar Qube" В материалах 14-й Международной рабочей конференции IEEE по анализу исходного кода и манипулированию им (SCAM 2014). Виктория, Британская Колумбия, Канада, страницы 77-82. 28–29 сентября 2014 г.]

внешняя ссылка