SourceMeter - SourceMeter - Wikipedia

SourceMeter
VývojářiFrontEndART Ltd.
Stabilní uvolnění
8.2 / 16. prosince 2016; před 3 lety (2016-12-16)
NapsánoC, C ++
Operační systémCross-platform
LicenceEULA
webová stránkawww.měřičometr.com

SourceMeter je nástroj pro analýzu zdrojového kódu, který může provádět hluboké statická analýza programu z zdrojový kód komplexních programů v C, C ++, Jáva, Krajta, C#, a RPG (AS / 400).[1] FrontEndART vyvinul SourceMeter založený na technologii Columbus[2] zkoumány a vyvíjeny na katedře softwarového inženýrství univerzity v Szegedu.[3][4]

Pozadí

Při statické analýze abstraktní sémantický graf (ASG) je vytvořen z jazykových prvků zdrojového kódu. Tato ASG je poté zpracována různými nástroji v balíčku pro výpočet metrik produktu[5] jako LLOC,[6] NLE nebo NOA, identifikujte duplicitní kód (kopírování vloženého kódu; klony), porušení pravidel kódování atd.

SourceMeter může analyzovat zdrojový kód odpovídající Java 8 a dřívějším verzím, C / C ++, RPG III a RPG IV (včetně volného formátu), C # 6.0 a dřívější verze a Python 2.7.8 a dřívější verze. V případě C / C ++ podporuje SourceMeter mezinárodní standard ISO / IEC 14882: 2011[7] rozšířeno o několik nových funkcí z ISO / IEC 14882: 2014 a jazyka C definovaných standardy ANSI / ISO 9899: 1990, ISO / IEC 9899: 1999 a ISO / IEC 9899: 2011. Kromě standardních funkcí je podporováno také několik rozšíření specifických pro GCC a Microsoft.

Funkce

  • Přesná a hluboká statická analýza, vytváření úplných sémantických grafů, které obsahují sémantické hrany (volání, odkazy), komentáře atd.
  • 60+ metrik zdrojového kódu (složitost, propojení, soudržnost, dědičnost atd.) Na různých úrovních (balíček, jmenný prostor, třída, metoda atd.)
  • Zdvojení typu 2, pokud jde o hranice syntaxe
  • Metriky duplikace kódu (stabilita, vloženost, disperze atd.)
  • Detekce nekonzistentních změn duplikací
  • Kontrola pravidel kódování (Rozdíly mezi porušením pravidel PMD a porušením pravidel FaultHunter )
  • Detekce zranitelností zabezpečení na základě toku dat (vložení SQL, XSS atd.)
  • Kontrola porušení pravidel na základě metrik
  • Kontrola porušení konkrétních pravidel pro Android
  • Detekce výjimek za běhu pomocí symbolického spuštění kódu, pouze pro Javu

Doplněk SonarQube

Plug-in SourceMeter pro SonarQube platforma je rozšíření open-source platformy SonarQube pro správu kvality kódu. Plug-in program provede SourceMeter z platformy SonarQube a nahraje výsledky analýzy zdrojového kódu SourceMeter do databáze SonarQube. Plug-in je open-source a poskytuje všechny obvyklé výsledky analýzy kódu SonarQube, rozšířené o mnoho dalších metrik a detektorů problémů poskytovaných nástrojem SourceMeter. Plug-in podporuje jazyky C / C ++, Java, C #, Python a RPG.[8]

Reference

  1. ^ Szőke, Gábor; Nagy, Csaba; Ferenc, Rudolf; Gyimóthy, Tibor (2014). „Případová studie refaktorování průmyslových systémů velkého rozsahu za účelem efektivního zlepšení kvality zdrojového kódu“ (PDF). Výpočetní věda a její aplikace - ICCSA 2014. Přednášky z informatiky. 8583. 524–540. doi:10.1007/978-3-319-09156-3_37. ISBN  978-3-319-09155-6.
  2. ^ Árpád Beszédes, Rudolf Ferenc, Tibor Gyimóthy: „Columbus: přístup obráceného inženýrství“
  3. ^ Katedra softwarového inženýrství
  4. ^ Univerzita v Szegedu
  5. ^ Odkaz na metriky zdrojového kódu
  6. ^ István Siket, Árpád Beszédes, John Taylor: „Rozdíly v definici a výpočtu metriky LOC ve bezplatných nástrojích“
  7. ^ SourceMeter ve standardu ISO C ++
  8. ^ Ferenc R., Langó L., Siket I., Gyimóthy T .: „Zdrojový měřicí modul Sonar Qube Plug-in“ In Proceedings of the 14th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2014). Victoria, Britská Kolumbie, Kanada, strany 77–82. 28. – 29. Září 2014]

externí odkazy