Бірыңғай код саны (UCC) - Unified Code Count (UCC) - Wikipedia

Бірыңғай кодтар саны
USC Unified CodeCount (UCC) v.201007 ж. Әзірлеушіден әзірленіп жатқан GUI құралы көрсетілген (қазір шығарылмаған).
USC Unified CodeCount (UCC) v.201007 ж. Әзірлеушіден әзірленіп жатқан GUI құралы көрсетілген (қазір шығарылмаған).
Түпнұсқа автор (лар)Ву Нгуен
ӘзірлеушілерUSC CSSE
Бастапқы шығарылым2009; 11 жыл бұрын (2009)
ЖазылғанC ++
Операциялық жүйеКросс-платформа
Қол жетімдіАғылшын
ТүріФайлдарды салыстыру құралы
ЛицензияUSC-CSSE шектеулі мемлекеттік лицензиясы
Веб-сайткүн батуы.уск.edu/ зерттеу/ CODECOUNT/

The Бірыңғай код есептегіші (UCC) - бұл USC жүйелер және бағдарламалық жасақтама орталығы шығарған кодтар есептегішінің бағдарламалық жасақтамасының желілері. Ол көпшілікке қол жетімді ашық ақпарат көзі коды және кез-келген стандартпен құрастырылуы мүмкін ANSI C ++ құрастырушы.

Кіріспе

Ішіндегі негізгі проблемалардың бірі бағдарламалық қамтамасыз етуді бағалау бұл бағдарламалық өнімнің маңызды атрибуттарының бірі болып табылатын өлшем. Бұл бағдарламалық жасақтама құны мен уақытының негізгі индикаторы ғана емес, сонымен қатар жоба мәртебесі мен бағдарламалық жасақтаманың сапасын өлшеу үшін басқа көрсеткіштерді шығаратын негізгі блок болып табылады. Өлшем метрикасы шығындарды бағалау модельдерінің көп бөлігі үшін маңызды кіріс ретінде пайдаланылады[1] сияқты КОКОМО, АРЫҚ, SEER-SEM, және Бағдарламалық жасақтамаға арналған PRICE TruePlanning. Кодтың бастапқы жолдары немесе SLOC жалпы өлшем метрикасы болып табылады, жалпы SLOC нені және қалай санау керектігін қамтамасыз ететін стандарттардың жетіспеушілігі бар.

Жүйелер және бағдарламалық жасақтама орталығы (CSSE) кезінде Оңтүстік Калифорния университеті кодтардың бағдарламалық жасақтамаларын санау үшін қолданылатын ережелердегі тәуелсіз ұйымдар арасындағы сәйкестікті қамтамасыз ететін Unified CodeCount (UCC) деп аталатын кодтарды есептеу құралдарын әзірледі және шығарды.

UCC блок-схемасы.
UCC блок-схемасы

Бастапқы мақсат - тарихи деректерді жинау және есеп беру мақсатында бағдарламалық жасақтама санақтары мен өлшемдерін қолдау. Ол жүзеге асырады кодты есептеу негізі Бағдарламалық жасақтама институты (SEI) шығарған және бейімделген КОКОМО. Логикалық және физикалық SLOC инструменттер жиынтығында жасалған көрсеткіштер қатарына жатады. SLOC Кодтың бастапқы сызықтарына сілтеме жасайды және ережелер жиынтығы негізінде бағдарламалық жасақтаманың көлемін өлшеу үшін қолданылатын бірлік.[2] SLOC - бұл жобаның күш-жігерін бағалауға арналған негізгі құрал, сонымен қатар өнімділікті және басқа өлшемдерді есептеу үшін қолданылады. SLOC екі түрі бар: физикалық және логикалық слок. Физикалық SLOC (PSLOC) - бір физикалық SLOC бірінші жолдан басталып, каретканы қайтарумен немесе сол жолдың файл соңындағы маркерімен аяқталатын бір жолға сәйкес келеді. Бос және түсініктеме жолдары есепке алынбайды. Логикалық SLOC (LSLOC) - қалыпты түрде үтірмен (C / C ++, Java, C #) немесе каретканы қайтарумен (VB, Ассамблея) аяқталатын «операторларды» өлшеуге арналған код сызықтары, логикалық SLOC форматқа сезімтал емес және стиль конвенциялары, бірақ олар тілге тәуелді.

Unified CodeCount (UCC) айырмашылық мүмкіндігі пайдаланушыға бағдарламалық өнімнің бастапқы кодының екі нұсқасы арасындағы логикалық дифференциалдарды санауға, салыстыруға және жинауға мүмкіндік береді. Айырмашылық мүмкіндігі пайдаланушыларға алдыңғы нұсқамен салыстырғанда ағымдағы нұсқаның қосылған / жаңа, жойылған, өзгертілген және өзгертілмеген логикалық SLOC санын санауға мүмкіндік береді.

Тарих

Кодтарды санаудың көптеген әр түрлі құралдары 2000 жылдардың басында болған. Алайда, стандартты санау ережелері мен бағдарламалық қамтамасыз етудің қол жетімділігі болмағандықтан, шығындарды талдауды жақсарту тобы (NCAIG) Ұлттық барлау басқармасы бағдарламалық жасақтама шығындарын талдау үшін кодтарды есептеудің жаңа құралының қажеттілігін анықтады. Кез-келген салаға бейімділікті болдырмау үшін CodeCount құралы[3] басшылығымен орталықта жасалған болатын Доктор Барри Боэм, Merilee Wheaton және A. Винзор Браун, IV & V ұсынған Аэроғарыш корпорациясы. Көптеген ұйымдар, соның ішінде Нортроп Грумман және Boeing компаниясы бірнеше санақ құралдарын USC CSSE-ге сыйға тартты. Мақсаты а қоғамдық домен бірнеше тілдерді басқаратын және үлкенді-кішілі бағдарламалық жүйелер үшін тұрақты нәтижелер шығаратын кодтарды есептеу құралы.

Жобаның жоспары әр семестрде жасалады, және ғылыми зерттеулер жүргізетін USC магистранттарына кодтарды есептеу құралын жаңартуға арналған жобалар тағайындалады. Ву Нгуен, USC докторанты, студенттер жобаларының бірнеше семестрлерін басқарды. Барлық өзгерістерді аэрокосмостық корпорацияның жобалар бойынша USC нұсқаушысымен тығыз байланыста жұмыс жасайтын IV & V тобы тексереді және растайды. Бета нұсқаларын салалық филиалдар тексереді, содан кейін көпшілікке ашық бастапқы код ретінде шығарады.

2006 жылы екі бағдарламалық жасақтаманы салыстыратын дифференциалдау құралын әзірлеу бойынша жұмыс жүргізілді негізгі сызықтар бағдарламалық жасақтаманың екі нұсқасының айырмашылықтарын анықтау. UCC-тің ізашары болып табылатын CodeCount құралдар жинағы 2007 жылы шығарылды. Бұл сияқты тілдерде жазылған бастапқы кодты өлшеу үшін бір тілде жазылған дербес бағдарламалардың жиынтығы болды. COBOL, Ассамблея, PL / 1, Паскаль, және Джовиал.

Нгуен а. Ретінде Unified CodeCount (UCC) жүйесінің дизайнын шығарды жақтау оған қолданыстағы есептегіштер мен дифференциалдау құралы біріктірілді. Бірыңғай санау және айыру мүмкіндіктері, қайталанатын файлдарды табу, қолдау сияқты қосымша мүмкіндіктер мәтін және CSV шығыс файлдары және т.б. қосылды. 2009 жылдың қазан айында COCOMO бойынша 24-ші Халықаралық форумда «Функционалдылықты ерекшелендіретін бірыңғай код санау» тақырыбында презентация ұсынылды.[4]

UCC құралы көпшілікке лицензиямен шығарылды[5] пайдаланушыларға кодты қолдануға және өзгертуге мүмкіндік беру; егер өзгертулер таратылатын болса, қолданушы USC CSSE-ге модификация көшірмесін жіберуі керек.

Маңыздылығы

Бірыңғай CodeCount (UCC) аяқталған жұмысқа тікелей қатысты физикалық және логикалық SLOC санақтары үшін қолданыстағы жобаларды талдау үшін қолданылады. Жиналған деректерді бағдарламалық жасақтама шығындарын бағалау модельдері арқылы сәтті нәтижеге жету үшін ұқсас жобаларға кеткен уақыт пен шығынды дәл бағалауға болады. Нарықта көптеген кодтарды есептеу құралдары бар, бірақ олардың көпшілігінде әр түрлі кемшіліктер бар:

  • Біреулері меншіктікі, басқалары қоғамдық меншік
  • Сәйкес келмеген немесе жарияланбаған санау ережелері
  • Сақталмауы мүмкін
  • Көптеген құралдар сәйкес келмейтін нәтижелер беруді санаудың әртүрлі ережелеріне ие

CSSE-ге NCAIG-тен бейтарап емес, салалық беделді институт әзірлеген және келесі мүмкіндіктерді ұсынатын кодтарды санау шешімін жасау үшін жүгінді:

  • Бағдарламалық жасақтама кодтарын санау
  • Үнемі
  • Құжатталған стандарттармен
  • Жаңа тілдерді оңай қосу мүмкіндігі
  • Қолдау және техникалық қызмет көрсету
  • Бағдарламалық жасақтаманың әртүрлі негіздерін салыстырыңыз
  • Қосуды, өзгертуді, жоюды анықтаңыз
  • Қайталанатын файлдарды анықтаңыз
  • Күрделілігін анықтаңыз
  • Платформа тәуелсіз
  • Командалық жол интерфейсі
  • Режимдер: тек кодты санау немесе санау және айырмашылық
  • Бір жолда бірнеше файлдар мен тілдерді санайды
  • Есептерді шығару
  • Қатты өңдеу
  • Өнімділікті жақсартуға арналған опциялар
  • Қателер журналы

UCC осы күш-жігердің нәтижесі болып табылады және көпшілікке ашық ақпарат көзі ретінде қол жетімді.

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

Дифференциалды функционалдығы бар бірыңғай CodeCount құралдар жиынтығы (UCC) - бұл бастапқы код өлшемін жинауды автоматтандыруға және ақпаратты өзгертуге арналған құралдар жиынтығы. UCC бірнеше бағдарламалау тілдерінде жұмыс істейді және екі ықтимал анықтамалық кодтарға назар аударады (SLOC), физикалық және / немесе логикалық. Айырмашылық функциясы екеуін салыстыру үшін қолданыла алады негізгі сызықтар бағдарламалық жасақтама жүйесі және өзгеру көрсеткіштерін анықтау: SLOC қосу, жою, өзгерту және модификациялаусыз санау.

UCC құралдар жинағы бағдарламалық жасақтама жасау үшін авторлық құқыққа арналған USC орталығы болып табылады, бірақ кез-келген адам кодқа өзгертулер енгізуге мүмкіндік беретін шектеулі қоғамдық лицензиямен қол жетімді. Алайда, егер олар өзгертілген кодты басқаларға таратса, адам немесе агенттік оның көшірмесін USC-ке қайтаруы керек, сондықтан құралдар жиынтығы барлығының пайдасына жақсаруы мүмкін.

CodeCount қолдану

  • Есептеу мүмкіндіктері - UCC пайдаланушыларға бастапқы бағдарламаның негізгі өлшемдерінің ақпаратын санауды талдау және шығару арқылы өлшеуге мүмкіндік береді:
а) Логикалық SLOC
б) физикалық SLOC
в) түсініктеме
г) орындалатын, мәлімдеме
e) SLOC директивасы
f) кілт сөздер
  • Дифференциалды мүмкіндіктер - UCC пайдаланушыларға бастапқы бағдарламалардың екі негізі арасындағы айырмашылықтарды салыстыруға және өлшеуге мүмкіндік береді. Бұл айырмашылықтар логикалық SLOC қосылған / жаңа, жойылған, өзгертілген және өзгертілмеген саны бойынша өлшенеді. Бұл айырмашылық нәтижелерін қарапайым мәтіндік .txt немесе .csv файлдарына сақтауға болады. Әдепкі мәні .csv, бірақ .txt –ascii қосқышын қолдану арқылы анықтауға болады.
  • Санақ және айырмашылық директориялары - UCC пайдаланушыларға файлдар орналасқан каталогтарды көрсету арқылы бастапқы файлдарды санауға немесе салыстыруға мүмкіндік береді.
  • Әр түрлі бағдарламалау тілдерін қолдау - есептеу және айырмашылық мүмкіндіктері жазылған кодты қабылдайды C / C ++, C #, Java, SQL, Ада, Перл, ASP.NET, JSP, CSS, HTML, XML, JavaScript, VB, Php, VbScript, Баш, C Shell сценарийі, ColdFusion, Фортран, Мидас, NeXtMidas, Паскаль, Рубин, Х-Мидас, және Python.
  • Командалық аргументтер - құрал пайдаланушының параметрлерін командалық аргументтер арқылы қабылдайды. UCC - а командалық жол қосымшасы және ол бағдарлама консолі режимінде жинақталған.
  • Көшіру - әрбір базалық сызық үшін екі файл бірдей көшірмелер болып саналады, егер олардың мазмұны бірдей болса немесе айырмашылық -tdup командалық жолды ауыстырып қосқыш арқылы берілген шектен аз болса. Екі файлдың көшірмелері ретінде анықталуы мүмкін, бірақ олардың файл атаулары әр түрлі. Көшіруді өңдеу кезінде түсініктемелер мен бос жолдар қарастырылмайды.
  • Сәйкестендіру - Айырмашылығы кезінде А базалық файлдары В базасындағы файлдарға сәйкес келеді. Екі файл, егер олар қандай каталогтарға жататындығына қарамастан бірдей файл атына ие болса, сәйкес келеді. Қалған файлдар үйлесімді алгоритм көмегімен сәйкестендіріледі.
  • Күрделілік саны - UCC барлық бастапқы код файлдары үшін күрделілік санақтарын шығарады. Математика, триг, логарифм функциялары, есептеулер, шартты шарттар, логикалар, препроцессорлар, тапсырмалар, көрсеткіштер және цикломатикалық күрделілік. Санау кезінде күрделілік нәтижелері «outfile_cplx.csv» файлына, ал айырмашылық кезінде нәтижелер «Baseline-A-outfile_cplx.csv» және «Baseline-B- outfile_cplx.csv» файлдарына сақталады.
  • Файл кеңейтімдері. Құрал файл кеңейтімінен әр файл үшін қандай код есептегішін қолдану керектігін анықтайды.

CodeCount функционалдығы

  • Орындау жылдамдығы:
CodeCount C / C ++ тілінде жазылған және түсініктемелер мен физикалық / логикалық сызықтарды тану үшін қарапайым алгоритмдерді қолданады. Тестілеу UCC-ді экстремалды жағдайлардан басқа жылдам өңдеуге болатындығын көрсетті. Қажет болса, өңдеудің белгілі бір түрлерін тежейтін бірқатар қосқыштар бар. Пайдаланушылар тезірек орындау үшін оңтайландыру қосқыштарын қолдана отырып құрастыра алады; қолданылатын компилятордың пайдаланушы нұсқаулығына жүгініңіз.
  • Сенімділік және дәлдік
CodeCount зертханада кеңінен тексерілді және бүкіл әлемде қолданылады. Ақаулар туралы есеп беру мүмкіндігі бар, және кез келген ақаулар жедел түрде түзетіледі. Пайдаланушыларға функционалдылықты қосу немесе ақауларды түзету және UCC менеджерлеріне өзгерістер туралы кодты ұсынумен бірге хабарлау сирек емес.
  • Құжаттама
UCC ашық қайнар көзінің таралуы бар Ескертулерді шығару, Пайдаланушы нұсқаулығы, және Кодты есептеу стандарттары тіл есептегіштері үшін. Бастапқы кодта файл тақырыпшалары мен жолдағы түсініктемелер бар. UCC бағдарламалық жасақтаманы әзірлеу жоспары, бағдарламалық жасақтамаға қойылатын талаптар және бағдарламалық жасақтаманы тексеру жоспары сұраныс бойынша қол жетімді.
  • Жалпы техникалық қызмет көрсетудің қарапайымдылығы
UCC - а монолитті, объектіге бағытталған техникалық қызмет көрсетуді жеңілдетуге арналған құралдар жиынтығы.
  • Ұзартудың қарапайымдылығы
«CSCI» CodeCount хош иісі кеңейтуді жеңілдетеді. Пайдаланушылар басқа тілдік есептегішті өздігінен оңай қосады. Пайдаланушылар сонымен қатар қандай файл кеңейтімдері белгілі бір тіл есептегішін таңдайтынын көрсете алады.
  • Үйлесімділік
CodeCount сәйкес келетін етіп жасалған КОКОМО бағалау механизмі қажет немесе қажет.
  • Тасымалдау
CodeCount әртүрлі операциялық жүйелерде және аппараттық платформаларда тексерілген және ANSI стандартты C ++ компиляторы бар кез-келген ортаға тасымалдануы керек.
  • Бастапқы кодтың болуы
CodeCount үшін бастапқы код жүктелетін zip файлы ретінде қол жетімді.
  • Лицензиялау
CodeCount үшін бастапқы код USC-CSE Limited Public License шарттарына сәйкес беріледі, бұл кез келген адамға кодқа өзгертулер енгізуге мүмкіндік береді. Алайда, егер олар өзгертілген кодты басқаларға таратса, адам немесе агенттік оның көшірмесін USC-ке қайтаруы керек, сондықтан құралдар жиынтығы барлығының пайдасына жақсаруы мүмкін. Лицензияның толық мәтінін мына жерден көруге болады UCC лицензиясы.

Тіл стандарттары

Бірыңғай CodeCount (UCC) үшін басты мақсат - SLOC-тың дәйекті және қайталанатын өлшемін анықтайтын есептеу әдістерін ұсыну. 20-дан астам SLOC санау қосымшалары бар, олардың әрқайсысы әртүрлі физикалық және логикалық SLOC санауларын жасайды, қазіргі нарықта 75 коммерциялық қол жетімді бағдарламалық қамтамасыз ету құнын бағалау құралдары бар. Әр түрлі құралдардың өзіндік құнының айырмашылықтары кодтың мөлшерін бағалаудағы қолданыстағы техниканың кемшіліктерін көрсетеді, әсіресе үлкен көлемдегі жобаларға қатысты,[6] мұндағы шығындарды есептеу автоматты процедураларға байланысты, нақты болжау жасау үшін. Бұл дәйекті нәтиже беретін жалпы SLOC санау стандартының қажеттілігіне әкелді.

SLOC шығындарды бағалау әдістемесінің негізгі факторы болып табылады. Бағдарламалық жасақтама шығындарын бағалауға жалғыз қатысушы болмаса да, ол бағдарламалық жасақтаманы әзірлеудің бүкіл өмірлік циклі кезінде алынған бірқатар көрсеткіштерге негіз болады. SLOC санау процедурасы автоматтандырылуы мүмкін, бұл көрсеткіштерді жасау үшін аз уақыт пен күш жұмсауды қажет етеді. Жақсы анықталған ережелер жиынтығы SLOC санау шараларына нені қосуға және алып тастауға болатындығын анықтайды. SLOC үшін қабылданған екі шара - бұл физикалық және логикалық кодтар саны.

UCC-де логикалық SLOC кодтар блогындағы бастапқы операторлардың жалпы санын өлшейді. Мәлімдемелердің үш түрі: орындалатын, декларация және құрастырушы директивалары. Орындалатын операторлар ақыр соңында аударылады машина коды себеп болу жұмыс уақыты декларация мен компилятордың директивалық мәлімдемелері әсер етеді құрастырушы іс-әрекеттер.

UCC бастапқы операторларды бастапқы код деңгейіндегі тәуелсіз бірліктер ретінде қарастырады, мұнда бағдарламашы оператор мен оның қосалқы операторларын толығымен құрастырады. UCC бастапқы код жинақталады деп болжайды; әйтпесе нәтижелер сенімсіз. Логикалық SLOC санау үшін әр тұжырымның соңын анықтау үлкен қиындық болды. Нүктелік үтір опциясы тартымды болып көрінуі мүмкін, бірақ танымал тілдердің барлығы бірдей үтірді қолдана бермейді (мысалы, SQL, JavaScript, UNIX сценарий тілдері және т.б.). Карнеги Меллон Университетіндегі Бағдарламалық жасақтама институты (SEI) және COCOMO II SLOC ‘бағдарламаның қандай элементтерін’ санаудың әдісін анықтады. 1 және 2 кестеде SLOC санау ережелерінің қысқаша мазмұны көрсетілген[7] C / C ++, Java және C # бағдарламалау тілдеріне арналған логикалық кодтар үшін. Әр тілге арналған UCC кодтарын есептеу ережелері ашық бастапқы нұсқасымен таратылады.

Өлшем бірлігіБасымдық тәртібіФизикалық SLOC
Орындалатын жолдар
Мәлімдемелер1Әр жолға бір
Орындалмайтын жолдар
Декларация (Мәліметтер) жолдары2Әр жолға бір
Құрастырушы директивалары3Әр жолға бір
Кесте 1. SLOC есептеудің физикалық ережелері


ҚұрылымБасымдық тәртібіЛогикалық SLOC
ТАҢДАУ ЕСЕПТЕРІ:1Әрбір жағдайға бір рет есептеңіз.
егер, әйтпесе, егер болмаса, «?» оператор, көріңіз, ұстап алыңыз, ауыстырыңызҰяланған мәлімдемелер ұқсас түрде саналады.
ИТЕРАЦИЯЛЫҚ ЕСЕПТЕР:2Әрбір жағдайға бір рет есептеңіз.
For, while, do.. while«For» құрылымындағы инициализация, шарт және өсім есептелмейді. яғни
үшін (i = 0; i <5; i ++)…

Сонымен қатар, «for» құрылымындағы кез-келген қосымша өрнектер де есептелмейді, мысалы.

үшін (i = 0, j = 5; i <5, j> 0; i ++, j -)…

«Do.. while» құрылымында «while» -дан кейінгі итерация операторларына және нүктелі үтірге қосылатын жақшалар {…} есептелмейді.

Секіру туралы мәлімдемелер:3Әрбір жағдайға бір рет есептеңіз.
Оралу, сыну, шығу, шығу, жалғастыру, лақтыру«Goto» операторларымен қолданылатын белгілер есептелмейді.
МАҢЫЗДЫҚ ЕСЕПТЕР:4Әрбір жағдайға бір рет есептеңіз.
Функцияны шақыру, тағайындау, бос операторБос мәлімдемелер бағдарламаның логикасына әсер етпейді және әдетте толтырғыш ретінде қызмет етеді немесе уақытты анықтау үшін CPU тұтынады.
ЖАЛПЫ ЕСЕПТЕР:5Әрбір жағдайға бір рет есептеңіз.
Нүктелі үтірмен аяқталатын мәлімдемелер«Үшін» мәлімдемесіндегі немесе «істеу керек ... ал» түсініктемесі бөлімінде көрсетілгендей үтірлер есептелмейді.
БЛОК БІЛГІЗУШІЛЕРІ, БРАКЕТТЕР6Әр жақшаға бір рет санау {..},
жабылатын жақшаның артынан үтір қойылатын жағдайларды қоспағанда, яғни.
 };.
Іріктеу және қайталау операторларымен қолданылған жақшалар есептелмейді. Функцияның анықтамасы бір рет есептеледі, өйткені ол жақшалар жиынтығымен жалғасады.
ҚҰРАСТЫРУШЫ ДИРЕКТИВІ7Әрбір жағдайға бір рет есептеңіз.
МӘЛІМЕТТЕР ДЕКЛАРАЦИЯСЫ8Әрбір жағдайға бір рет есептеңіз.
Функцияның прототиптерін, айнымалы декларациясын, typedef мәлімдемелер. Сияқты кілт сөздер құрылым, сынып санамаңыз
Кесте 2. C / C ++, Java және C # үшін SLOC есептеудің логикалық ережелері

Бағдарламалық жасақтама дизайны

Unified CodeCount (UCC) есептеуді LSLOC жолдарын файлдан әр тіл үшін жасалған есептеу ерекшеліктері құжатына негіздеу арқылы шығарады; бұл спецификация стандарт ретінде ұсынылған. Айырмашылық ерекшелігі LSLOC жолдарын жалпы қозғалтқыштың көмегімен санау процесінде алынған екі файлдан салыстырады.

UCC сәулеті

UCC негізгі архитектурасын келесі компоненттердің иерархиялық құрылымы ретінде қарастыруға болады:

UCC сәулеті
UCC бастауыш сыныптары.

1. Негізгі нысан

MainObject - бұл файлдар тізімін командалық параметрлерден шығарып алу үшін командалық жолды талдауды орындайтын, содан кейін әр файлды санау немесе дифференциалдау үшін жадыға оқитын жоғарғы деңгей класы. MainObject енгізілген тілдерді өңдеу үшін CodeCounters деп атайды. Санақ функциясының нәтижесі қайталану және есептеу / күрделілік нәтижелері үшін келесі файлдар жиынтығын (.txt) ұсынады:

_outfile.txt, бұл бастапқы файлдарын есептеу нәтижелерін көрсететін файл. - бастапқы файлдар тілінің атауы, мысалы, C / C ++ файлдары үшін C_CPP және Java файлдары үшін Java.
outfile_cplx.txt, бұл бастапқы файл үшін күрделілік нәтижелерін көрсетеді.
Көшірмелер - _outfile.txt, тіліне арналған қайталанатын файлдардың тізімін көрсетеді.
Duplicates-outfile_cplx.txt, қайталанатын файлдардың күрделілік нәтижелерін қамтиды.
DuplicatePairs.txt, бұл бастапқы файл мен оның қайталанатын файлы арасындағы сәйкестік мәтіндік файл.

2. DiffTool

DiffTool - командалық жолдың параметрлерін талдайтын және әр базалық деңгейге арналған файлдар тізімін өңдейтін MainObject туындысы. DiffTool класы негізгі файлдар бойынша келесі файлдар жиынтығын (.txt, .csv) ұсынады:

Бастапқы деңгей - - _outfile.txt, бастапқы сызық үшін A және Baseline B үшін бастапқы файлдарының нәтижелерін санайды.
Бастапқы деңгей - - _cplx.txt, A және B бастапқы деңгейлерінің күрделілігі.
Сәйкес жұптар, Мәтіндік файл тізімі A және B бастапқы сызықтарындағы файлдармен сәйкес келеді.
outfile_diff_results.txt, Қарапайым мәтін форматындағы негізгі айырмашылық нәтижелері.
outfile_diff_results.csv, MS Excel көмегімен ашылатын .csv форматындағы негізгі айырмашылық нәтижелері.

DiffTool ‘CmpMngr’ сыныбының көмегімен негізгі сызбалар арасындағы салыстыруды орындайды.

3. CmpMngr

CmpMngr айырмашылықтарды LSLOC екі тізімін салыстыру арқылы есептейді және екі тізімге қосылған, жойылған, өзгертілген және өзгертілмеген жалпы LSLOC есептеу арқылы вариацияларды анықтайды.

4. CCodeCounter

CCodeCounter алдын-ала санауға арналған, мұнда келесі әрекеттерді орындайды:

• бос жолдар мен ескертулерді есептейді,
• сөздік жолдарды сүзеді,
• кілт сөздердің, операторлардың және басқаларының күрделілігін есептейді
• SLOC компилятор директивасын санайды (CountDirectiveSLOC әдісін қолдана отырып).
• тілдік спецификалық өңдеуді орындайды (кіші сыныптар жасайды).

Болашақ жақсартулар және шығару

UCC-тің болашақ жоспарларына күрделілік көрсеткіштерін есептеуді жетілдіру, қолданыстағы код есептегіштеріне қолдау көрсету және қосымша тілдер үшін жаңа есептегіштер қосу, есептерді жақсарту және өнімділікті жақсарту кіреді. Мәтін, құрастыру, Cobol, Jovial, Matlab және Pascal есептегіштері әзірленуде. Сонымен қатар, ағымдағы командалық жол интерфейсінің орнына пайдаланылатын графикалық интерфейс жасалуда.

Жүйелік талаптар

A. Аппараттық құрал

B. Бағдарламалық қамтамасыз етудің операциялық жүйелері

C. Қолдау көрсетілетін компиляторлар

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ Б.Бем; C. Abts; С.Чулани. «Бағдарламалық жасақтаманы әзірлеу шығындарын бағалау тәсілдері: сауалнама». Бағдарламалық жасақтама инженерлері, 2000.; Б.Бем; Э. Хоровиц; Р.Мадачи; D. Рейфер; Б.Кларк; B. Steece; А.В.Браун; С.Чулани және С.Абтс. «COCOMO II бағдарламалық жасақтама шығындарын бағалау».
  2. ^ Бағдарламалық жасақтама институты. «Бағдарламалық жасақтаманың өлшемін өлшеу: бастапқы мәлімдемелерді санауға арналған негіз» (PDF). Техникалық есеп CMU / SEI-92-TR-20 ESC-TR-92-020, 1992 ж.
  3. ^ «CodeCount, USC жүйелер және бағдарламалық жасақтама орталығы». Csse.usc.edu.
  4. ^ «CSSE - үй». Csse.usc.edu. Алынған 28 желтоқсан 2018.
  5. ^ «Мұрағатталған көшірме». Архивтелген түпнұсқа 2011-03-06. Алынған 2010-11-30.CS1 maint: тақырып ретінде мұрағатталған көшірме (сілтеме)
  6. ^ G. E. Kalb. «Кодекстерді, шатасуларды, тұжырымдарды және ұсыныстарды санау» (PDF). REVIC пайдаланушыларының 3-ші жылдық конференциясының брифингі, 1990 ж.
  7. ^ «SLOC санау стандарты» (PDF). Sunset.usc.edu. Алынған 28 желтоқсан 2018.

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