Перейти к содержанию

SonarQube

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
SonarQube
Логотип программы SonarQube
Скриншот программы SonarQubeИнтерфейс версии 6.7+
Тип Статический анализатор кода
Разработчик SonarSource
Написана на Java
Операционная система Кроссплатформенное
Последняя версия 9.4 (апрель 2022; 3 года назад (2022-04))
Лицензия GNU LGPLv3
Сайт sonarqube.org

SonarQube (бывший Sonar[1]) — платформа с открытым исходным кодом для непрерывного анализа (англ. continuous inspection) и измерения качества программного кода.

Поддерживает анализ кода и поиск ошибок согласно правилам стандартов программирования MISRA C, MISRA C++, MITRE/CWE и CERT Secure Coding Standards. Также распознаёт ошибки из списков OWASP Топ-10 и CWE/SANS Топ-25 ошибок программирования[2][3].

Несмотря на то, что платформа использует различные готовые инструменты, SonarQube сводит результаты к единой информационной панели (англ. dashboard), ведя историю прогонов и позволяя тем самым увидеть общую тенденцию изменения качества программного обеспечения в ходе разработки[4].

Принципы работы

SonarQube измеряет качество программного кода в соответствии с семью показателями (и соответствующими метриками) качества программного обеспечения, которые разработчики называют англ. Seven Axes of Quality[5]:

Так, тесты оцениваются не только с точки зрения успешности исполнения, но и по тестовому покрытию исходного кода[6].

Во главу угла в SonarQube поставлено измерение качества в соответствии с концепцией технического долга (англ. technical debt), реализованное в виде плагина. Долг вычисляется в долларах и человеко-днях, а также по типам показателей, в процентах[7].

Возможности

SonarQube позволяет анализировать многоязычные проекты, хотя для каждого языка делается свой анализ. Анализируемый язык необходимо указывать явным образом[8].

Открытая версия программы поддерживает следующие плагины[9]:

Для платной версии (Enterprise) доступны плагины[9]:

C 2016 года для открытой версии SonarQube появился плагин для языка [10].

Примечания

  1. Sonar becomes the SonarQube platform | SonarSource (недоступная ссылка). www.sonarsource.com. Дата обращения: 13 января 2016. Архивировано 21 февраля 2016 года.
  2. Tags - SonarQube Documentation - SonarQube (недоступная ссылка). docs.sonarqube.org. Дата обращения: 14 января 2016. Архивировано 30 октября 2015 года.
  3. Rules - SonarQube (недоступная ссылка). nemo.sonarqube.org. Дата обращения: 14 января 2016. Архивировано 24 октября 2015 года.
  4. Campbell, Papapetrou, 2013, 1.1.1. Proven technologies.
  5. Campbell, Papapetrou, 2013, 1.3. Seven Axes of Quality.
  6. Campbell, Papapetrou, 2013, 1.3.2. Tests.
  7. Campbell, Papapetrou, 2013, 1.6.1. Technical debt.
  8. Campbell, Papapetrou, 2013, 1.2.3. Analyzing multilanguage projects.
  9. 9,0 9,1 Plugin Library - Plugins - SonarQube. docs.sonarqube.org. Дата обращения: 14 января 2016. Архивировано 20 января 2016 года.
  10. Other Plugins - Plugins - Doc SonarQube. docs.sonarqube.org. Дата обращения: 12 декабря 2017. Архивировано 28 ноября 2016 года.

Литература

  • G. Ann Campbell, Patroklos P. Papapetrou. SonarQube in Action. — Manning Publications, 2013. — ISBN 9781617290954.