SourceMeter - SourceMeter - Wikipedia

SourceMeter
ӘзірлеушілерFrontEndART Ltd.
Тұрақты шығарылым
8.2 / 2016 жылғы 16 желтоқсан; 3 жыл бұрын (2016-12-16)
ЖазылғанC, C ++
Операциялық жүйеКросс-платформа
ЛицензияEULA
Веб-сайтwww.сурсметр.com

SourceMeter - бұл терең кодты орындай алатын бастапқы кодты талдаушы құрал статикалық бағдарламалық талдау туралы бастапқы код кешенді бағдарламалар C, C ++, Java, Python, C #, және RPG (AS / 400).[1] FrontEndART Колумбус технологиясы негізінде SourceMeter әзірледі[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 және ANSI / ISO 9899: 1990, ISO / IEC 9899: 1999 және ISO / IEC 9899: 2011 стандарттарымен анықталған C тілінің бірнеше жаңа мүмкіндіктерімен кеңейтілген. Стандартты функциялардан басқа, бірнеше GCC және Microsoft арнайы кеңейтімдері де қолданылады.

Ерекшеліктер

  • Нақты және терең статикалық талдау, толық семантикалық графиктерді құру, құрамында семантикалық шеттері (қоңыраулар, сілтемелер), түсініктемелер және т.б.
  • 60+ бастапқы кодының көрсеткіштері (күрделілік, байланыстыру, біріктіру, мұрагерлік және т.б.), әр түрлі деңгейлерде (пакет, аттар кеңістігі, класс, әдіс және т.б.)
  • Синтаксис шекараларына қатысты қайталанатын 2 тип
  • Кодтың қайталану көрсеткіштері (тұрақтылық, ендірілім, дисперсия және т.б.)
  • Көшірмелердің сәйкес келмейтін өзгерістерін анықтау
  • Кодтау ережелерін тексеру (PMD ережелерін бұзу мен FaultHunter ережелерін бұзудың арасындағы айырмашылық )
  • Мәліметтер ағыны негізінде қауіпсіздік осалдықтарын анықтау (SQL инжекциясы, XSS және т.б.)
  • Метрикаға негізделген ереже бұзушылықтарын тексеру
  • Android арнайы ережелерінің бұзылуын тексеру
  • Тек Java үшін символдық кодты орындау арқылы жұмыс уақытының ерекшеліктерін анықтау

SonarQube қосылатын модулі

SourceMeter қосылатын модулі үшін SonarQube платформа - бұл кодтың сапасын басқаруға арналған ашық бастапқы коды SonarQube платформасының кеңеюі. Қосылатын модуль SourceMeter-ді SonarQube платформасынан орындайды және SourceMeter дереккөздерін талдау нәтижелерін SonarQube дерекқорына жүктейді. Қосылатын модуль ашық көзі болып табылады және SourceMeter құралы ұсынатын көптеген қосымша көрсеткіштермен және детекторлармен толықтырылған барлық SonarQube кодтарын талдау нәтижелерін ұсынады. Қосылатын модуль 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 қосылатын модулі» IEEE 14-ші Халықаралық жұмыс конференциясының материалдарында кодтарды талдау және манипуляциялау (SCAM 2014). Виктория, Британдық Колумбия, Канада, 77-82 беттер. 28–29 қыркүйек, 2014 жыл]

Сыртқы сілтемелер