Jump to content

SonarQube: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Kioo (talk | contribs)
m update last revision to match "what's new" page instead of github release page
No edit summary
 
(22 intermediate revisions by 17 users not shown)
Line 1: Line 1:
{{short description|Open-source platform for continuous inspection of code quality}}
{{short description|Open-source platform for continuous inspection of code quality}}
{{Multiple issues|
{{Multiple issues|
{{Advert|date=October 2020}}
{{Advert|date=October 2020}}
{{Self-published|date=September 2021}}
{{Self-published|date=September 2021}}
{{lead extra info|date=September 2021}}
{{lead extra info|date=September 2021}}
}}
}}

{{Infobox software
{{Infobox software
| name = SonarQube
| name = SonarQube
Line 12: Line 11:
| caption = A SonarQube project homepage
| caption = A SonarQube project homepage
| developer = [[SonarSource]]
| developer = [[SonarSource]]
| latest release version = 9.9
| latest release version = 10.6
| latest release date = {{Start date and age|2023|02|07}}<ref>{{Cite web|url=https://www.sonarqube.org/whats-new/|title=What's New in latest releases &#124; SonarQube|website=www.sonarqube.org}}</ref>
| latest release date = {{Start date and age|2024|06|25}}<ref>{{Cite web|url=https://www.sonarqube.org/whats-new/|title=What's New in latest releases &#124; SonarQube|website=www.sonarqube.org}}</ref>
| latest preview version =
| latest preview version =
| latest preview date =
| latest preview date =
Line 21: Line 20:
| language =
| language =
| genre = [[Static program analysis]]
| genre = [[Static program analysis]]
| license = [[Lesser GNU General Public License]]
| license = [[GNU Lesser General Public License]]
| website = {{URL|sonarqube.org}}
| website = {{URL|sonarqube.org}}
}}
}}


'''SonarQube''' (formerly '''Sonar''')<ref>{{cite web | url=http://sonar.15.x6.nabble.com/SONAR-is-becoming-SONARQUBE-td5010134.html | title=SONAR is becoming SONARQUBE | publisher=SonarQube project mailing list | date=20 March 2013 | accessdate=3 July 2013 | author=Freddy Mallet | url-status=dead | archive-date=24 July 2013 | archive-url=https://web.archive.org/web/20130724075005/http://sonar.15.x6.nabble.com/SONAR-is-becoming-SONARQUBE-td5010134.html }}</ref> is an [[open-source software|open-source]] platform developed by [[SonarSource]] for continuous inspection of [[software quality|code quality]] to perform automatic reviews with static [[static program analysis|analysis of code]] to detect [[software bug|bugs]] and [[code smell]]s on 29 [[programming language]]s. SonarQube offers reports on [[duplicate code|duplicated code]], [[programming style|coding standards]], [[unit testing|unit tests]], [[code coverage]], [[cyclomatic complexity|code complexity]], [[comment (computer programming)|comments]], [[defensive programming|bugs]], and security recommendations.<ref name=methodsandtools>{{cite magazine|title =Sonar |magazine = Methods and Tools |date = 2010-03-01|url = http://www.methodsandtools.com/PDF/mt201001.pdf|accessdate = 2017-08-29|volume=18|issue=1 |issn=1661-402X |pages=40–46}}</ref><ref name="sonarinaction">{{cite book |last=Campell/Papapetrou |first=Ann/Patroklos |title=Sonar (SonarQube) in action |publisher=Manning Publications |year=2013 |location= Greenwich, Connecticut, USA |isbn= 978-1617290954| pages=350}}</ref>
'''SonarQube''' (formerly '''Sonar''')<ref>{{cite web|url=http://sonar.15.x6.nabble.com/SONAR-is-becoming-SONARQUBE-td5010134.html|title=SONAR is becoming SONARQUBE|publisher=SonarQube project mailing list|date=20 March 2013|access-date=3 July 2013|author=Freddy Mallet|url-status=dead|archive-date=24 July 2013|archive-url=https://web.archive.org/web/20130724075005/http://sonar.15.x6.nabble.com/SONAR-is-becoming-SONARQUBE-td5010134.html}}</ref> is an [[open-source software|open-source]] platform developed by [[SonarSource]] for continuous inspection of [[software quality|code quality]] to perform automatic reviews with static [[static program analysis|analysis of code]] to detect [[software bug|bugs]] and [[code smell]]s on 29 [[programming language]]s. SonarQube offers reports on [[duplicate code|duplicated code]], [[programming style|coding standards]], [[unit testing|unit tests]], [[code coverage]], [[cyclomatic complexity|code complexity]], [[comment (computer programming)|comments]], [[defensive programming|bugs]], and security recommendations.<ref name="methodsandtools">{{cite magazine|title=Sonar|magazine=Methods and Tools|date=2010-03-01|url=http://www.methodsandtools.com/PDF/mt201001.pdf|accessdate=2017-08-29|volume=18|issue=1|issn=1661-402X|pages=40–46}}</ref><ref name="sonarinaction">{{cite book|last=Campell/Papapetrou|first=Ann/Patroklos|title=Sonar (SonarQube) in action|publisher=Manning Publications|year=2013|location=Greenwich, Connecticut, USA|isbn=978-1617290954|pages=350}}</ref>


SonarQube can record metrics history and provides evolution graphs. SonarQube provides fully automated analysis and integration with [[Apache Maven|Maven]], [[Apache Ant|Ant]], [[Gradle]], [[MSBuild]] and [[continuous integration]] tools ([[Bamboo (software)|Atlassian Bamboo]], [[Jenkins (software)|Jenkins]], [[Hudson (software)|Hudson]], etc.).<ref name="jteam">{{cite web|title = Measuring Code Quality With Sonar|last = Buijze|first = Allard|date = 2010-02-26|url = http://blog.jteam.nl/2010/02/26/measuring-code-quality-with-sonar/|accessdate = 2017-08-29|url-status = dead|archive-date = 2011-08-12|archive-url = https://web.archive.org/web/20110812151637/http://blog.jteam.nl/2010/02/26/measuring-code-quality-with-sonar/}}</ref><ref name="g3global">{{cite web|title = Continuous Integration on SAP using Subversion, Maven, Hudson, Nexus and Sonar|last = Odendaal|first = René|date = 2009-06-24|url = http://www.g3it.com/blog/technical/continuous-integration-on-sap-using-subversion-maven-hudson-nexus-and-sonar/|accessdate = 2017-08-29|archive-date = 2012-07-24|archive-url = https://web.archive.org/web/20120724002206/http://www.g3it.com/blog/technical/continuous-integration-on-sap-using-subversion-maven-hudson-nexus-and-sonar/|url-status = dead}}</ref><ref name="slideshare">{{cite web|title = How can you improve, harmonize and automate your development process using tools like Maven, Hudson, and Nexus?|last = Smart|first = John|date = 2010-03-14|url = http://www.slideshare.net/wakaleo/how-can-you-improve-harmonize-and-automate-your-development-process-using-tools-like-maven-hudson-and-nexus-this-presentation-is-a-highlevel-overview-of-java-software-development-process-improvement-3321091|accessdate = 2017-08-29}}</ref>
SonarQube provides automated [[analysis]] and integration with [[Apache Maven|Maven]], [[Apache Ant|Ant]], [[Gradle]], [[MSBuild]], and [[continuous integration]] tools.<ref name="jteam">{{cite web|title=Measuring Code Quality With Sonar|last=Buijze|first=Allard|date=2010-02-26|url=http://blog.jteam.nl/2010/02/26/measuring-code-quality-with-sonar/|accessdate=2017-08-29|url-status=dead|archive-date=2011-08-12|archive-url=https://web.archive.org/web/20110812151637/http://blog.jteam.nl/2010/02/26/measuring-code-quality-with-sonar/}}</ref><ref name="g3global">{{cite web|title=Continuous Integration on SAP using Subversion, Maven, Hudson, Nexus and Sonar|last=Odendaal|first=René|date=2009-06-24|url=http://www.g3it.com/blog/technical/continuous-integration-on-sap-using-subversion-maven-hudson-nexus-and-sonar/|access-date=2017-08-29|archive-date=2012-07-24|archive-url=https://web.archive.org/web/20120724002206/http://www.g3it.com/blog/technical/continuous-integration-on-sap-using-subversion-maven-hudson-nexus-and-sonar/|url-status=dead}}</ref><ref name="slideshare">{{cite web|title=How can you improve, harmonize and automate your development process using tools like Maven, Hudson, and Nexus?|last=Smart|first=John|date=2010-03-14|url=http://www.slideshare.net/wakaleo/how-can-you-improve-harmonize-and-automate-your-development-process-using-tools-like-maven-hudson-and-nexus-this-presentation-is-a-highlevel-overview-of-java-software-development-process-improvement-3321091|accessdate=2017-08-29}}</ref>


== Overview ==
==Overview==
SonarQube includes support for the programming languages [[Java (programming language)|Java]] [[Java (programming language)#Android|(including Android)]], [[C Sharp (programming language)|C#]], [[C (programming language)|C]], [[C++]], [[JavaScript]], [[TypeScript]], [[Python (programming language)|Python]], [[Go (programming language)|Go]], [[Swift (programming language)|Swift]], [[COBOL]], [[Apex (programming language)|Apex]], [[PHP]], [[Kotlin (programming language)|Kotlin]], [[Ruby (programming language)|Ruby]], [[Scala (programming language)|Scala]], [[HTML]], [[Cascading Style Sheets|CSS]], [[ABAP]], [[Apache Flex|Flex]], [[Objective-C]], [[PL/I]], [[PL/SQL]], [[IBM RPG|RPG]], [[Transact-SQL|T-SQL]], [[Visual Basic .NET|VB.NET]], [[Visual Basic|VB6]], and [[XML]].<ref>{{cite web|url=https://www.sonarqube.org/features/multi-languages/|title=Multi-Language {{!}} SonarQube|accessdate=2021-01-25}}</ref> As of December 2021, analyzing C, C++, Obj-C, Swift, ABAP, T-SQL and PL/SQL is only available via a commercial license.
SonarQube supports the programming languages: [[Java (programming language)|Java]] [[Java (programming language)#Android|(including Android)]], [[C Sharp (programming language)|C#]], [[C (programming language)|C]], [[C++]], [[JavaScript]], [[TypeScript]], [[Python (programming language)|Python]], [[Go (programming language)|Go]], [[Swift (programming language)|Swift]], [[COBOL]], [[Apex (programming language)|Apex]], [[PHP]], [[Kotlin (programming language)|Kotlin]], [[Ruby (programming language)|Ruby]], [[Scala (programming language)|Scala]], [[HTML]], [[Cascading Style Sheets|CSS]], [[ABAP]], [[Apache Flex|Flex]], [[Objective-C]], [[PL/I]], [[PL/SQL]], [[IBM RPG|RPG]], [[Transact-SQL|T-SQL]], [[Visual Basic .NET|VB.NET]], [[Visual Basic|VB6]], and [[XML]].<ref>{{cite web|url=https://www.sonarqube.org/features/multi-languages/|title=Multi-Language - SonarQube|accessdate=2021-01-25}}</ref> As of December 2021, analyzing [[C (programming language)|C]], [[C++]], [[Objective-C]], [[Swift (programming language)|Swift]], [[ABAP]], [[Transact-SQL|T-SQL]], and [[PL/SQL]] is only available via a commercial license.


SonarQube is an open core product for static code analysis, with additional features offered in commercial editions.
SonarQube is available for free under the [[GNU Lesser General Public License]]. An enterprise version for paid licensing also exists, as well as a data center edition that supports [[high availability]].<ref>{{Cite web|url=https://www.sonarqube.org/downloads/license/|title=License {{!}} SonarQube|website=www.sonarqube.org|access-date=2018-03-28}}</ref><ref>{{Cite web|url=https://www.sonarsource.com/plans-and-pricing/|title=Plans & Pricing {{!}} SonarSource|website=www.sonarsource.com|access-date=2018-03-28}}</ref>


=== SonarLint ===<!--The page SonarLint redirects here-->
===SonarLint===<!--The page SonarLint redirects here-->
SonarQube integrates with [[Eclipse (software)|Eclipse]], [[Microsoft Visual Studio|Visual Studio]], [[Visual Studio Code]], and [[IntelliJ IDEA]] development environments through the '''SonarLint''' plug-ins, and also integrates with external tools like [[LDAP]], [[Active Directory]], [[GitHub]], and others. SonarQube is expandable with the use of [[plug-in (computing)|plug-ins]].<ref name="zauber">{{cite web|url=http://blog.code.zauber.com.ar/2009/11/creating-sonar-plugin-for-software.html|title=Creating a Sonar Plugin for software development metrics|author=Mariano|date=2009-11-17|archive-url=https://web.archive.org/web/20100324015505/http://blog.code.zauber.com.ar/2009/11/creating-sonar-plugin-for-software.html|archive-date=March 24, 2010|url-status=dead|access-date=2017-08-29}}</ref><ref name="infoq">{{cite web|url=http://www.infoq.com/news/2010/03/monetizing-technical-debt/|title=Monetizing the Technical Debt|last=Hazrati|first=Vikas|date=2010-03-30|accessdate=2017-08-29}}</ref>
SonarQube is expandable with the use of [[plug-in (computing)|plug-ins]]. It integrates with [[Eclipse (software)|Eclipse]], [[Microsoft Visual Studio|Visual Studio]], [[Visual Studio Code]], and [[IntelliJ IDEA]] development environments through '''SonarLint''' plug-ins, as well as external tools such as [[LDAP]], [[Active Directory]], and [[GitHub]].<ref name="zauber">{{cite web|url=http://blog.code.zauber.com.ar/2009/11/creating-sonar-plugin-for-software.html|title=Creating a Sonar Plugin for software development metrics|author=Mariano|date=2009-11-17|archive-url=https://web.archive.org/web/20100324015505/http://blog.code.zauber.com.ar/2009/11/creating-sonar-plugin-for-software.html|archive-date=March 24, 2010|url-status=dead|access-date=2017-08-29}}</ref><ref name="infoq">{{cite web|url=http://www.infoq.com/news/2010/03/monetizing-technical-debt/|title=Monetizing the Technical Debt|last=Hazrati|first=Vikas|date=2010-03-30|accessdate=2017-08-29}}</ref>


==Reception==
==Reception==
In 2009, SonarQube received a [[Jolt Awards|Jolt Award]] under [[Test automation|testing tools]] category.<ref name=jolt>{{cite web|title=Jolt Awards Winners |date=2009-03-18 |url=http://www.joltawards.com/winners.html |access-date=2010-04-13 |url-status=dead |archive-url=https://web.archive.org/web/20100201211611/http://www.joltawards.com/winners.html |archive-date=February 1, 2010 }}</ref><ref name=jolt2>{{cite web|title = Jolt Productivity Award #2: Testing and Debugging|date = 2010-12-01|url = http://www.drdobbs.com/joltawards/228400216|accessdate = 2010-12-09}}</ref>
In 2009, SonarQube received a [[Jolt Awards|Jolt Award]] under the [[Test automation|testing tools]] category.<ref name="jolt">{{cite web|title=Jolt Awards Winners|date=2009-03-18|url=http://www.joltawards.com/winners.html|access-date=2010-04-13|url-status=dead|archive-url=https://web.archive.org/web/20100201211611/http://www.joltawards.com/winners.html|archive-date=February 1, 2010}}</ref><ref name="jolt2">{{cite web|title=Jolt Productivity Award #2: Testing and Debugging|date=2010-12-01|url=http://www.drdobbs.com/joltawards/228400216|accessdate=2010-12-09}}</ref>


==See also==
==See also==
Line 49: Line 48:
==External links==
==External links==
* [http://www.sonarqube.org SonarQube Web Site]
* [http://www.sonarqube.org SonarQube Web Site]
* [https://www.nautilus-app.net SonarQube Android App]


[[Category:Static program analysis tools]]
[[Category:Static program analysis tools]]

Latest revision as of 11:24, 23 September 2024

SonarQube
Developer(s)SonarSource
Initial release2006–2007[1]
Stable release
10.6 / June 25, 2024; 4 months ago (2024-06-25)[2]
Repository
Written inJava
Operating systemCross-platform
TypeStatic program analysis
LicenseGNU Lesser General Public License
Websitesonarqube.org

SonarQube (formerly Sonar)[3] is an open-source platform developed by SonarSource for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs and code smells on 29 programming languages. SonarQube offers reports on duplicated code, coding standards, unit tests, code coverage, code complexity, comments, bugs, and security recommendations.[4][5]

SonarQube provides automated analysis and integration with Maven, Ant, Gradle, MSBuild, and continuous integration tools.[6][7][8]

Overview

[edit]

SonarQube supports the programming languages: Java (including Android), C#, C, C++, JavaScript, TypeScript, Python, Go, Swift, COBOL, Apex, PHP, Kotlin, Ruby, Scala, HTML, CSS, ABAP, Flex, Objective-C, PL/I, PL/SQL, RPG, T-SQL, VB.NET, VB6, and XML.[9] As of December 2021, analyzing C, C++, Objective-C, Swift, ABAP, T-SQL, and PL/SQL is only available via a commercial license.

SonarQube is an open core product for static code analysis, with additional features offered in commercial editions.

SonarLint

[edit]

SonarQube is expandable with the use of plug-ins. It integrates with Eclipse, Visual Studio, Visual Studio Code, and IntelliJ IDEA development environments through SonarLint plug-ins, as well as external tools such as LDAP, Active Directory, and GitHub.[10][11]

Reception

[edit]

In 2009, SonarQube received a Jolt Award under the testing tools category.[12][13]

See also

[edit]

References

[edit]
  1. ^ "History | SonarSource". www.sonarsource.com.
  2. ^ "What's New in latest releases | SonarQube". www.sonarqube.org.
  3. ^ Freddy Mallet (20 March 2013). "SONAR is becoming SONARQUBE". SonarQube project mailing list. Archived from the original on 24 July 2013. Retrieved 3 July 2013.
  4. ^ "Sonar" (PDF). Methods and Tools. Vol. 18, no. 1. 2010-03-01. pp. 40–46. ISSN 1661-402X. Retrieved 2017-08-29.
  5. ^ Campell/Papapetrou, Ann/Patroklos (2013). Sonar (SonarQube) in action. Greenwich, Connecticut, USA: Manning Publications. p. 350. ISBN 978-1617290954.
  6. ^ Buijze, Allard (2010-02-26). "Measuring Code Quality With Sonar". Archived from the original on 2011-08-12. Retrieved 2017-08-29.
  7. ^ Odendaal, René (2009-06-24). "Continuous Integration on SAP using Subversion, Maven, Hudson, Nexus and Sonar". Archived from the original on 2012-07-24. Retrieved 2017-08-29.
  8. ^ Smart, John (2010-03-14). "How can you improve, harmonize and automate your development process using tools like Maven, Hudson, and Nexus?". Retrieved 2017-08-29.
  9. ^ "Multi-Language - SonarQube". Retrieved 2021-01-25.
  10. ^ Mariano (2009-11-17). "Creating a Sonar Plugin for software development metrics". Archived from the original on March 24, 2010. Retrieved 2017-08-29.
  11. ^ Hazrati, Vikas (2010-03-30). "Monetizing the Technical Debt". Retrieved 2017-08-29.
  12. ^ "Jolt Awards Winners". 2009-03-18. Archived from the original on February 1, 2010. Retrieved 2010-04-13.
  13. ^ "Jolt Productivity Award #2: Testing and Debugging". 2010-12-01. Retrieved 2010-12-09.
[edit]