Tcov
ટી. સી. ઓ. વી. એ ફોરટ્રાન, સી અને સી + + માં લખાયેલ સોફ્ટવેર માટે સ્રોત કોડ કવરેજ વિશ્લેષણ અને નિવેદન-દર-નિવેદન રૂપરેખાકરણ સાધન છે. Tcov પ્રોગ્રામમાં દરેક સ્ટેટમેન્ટ કેટલી વાર ચલાવવામાં આવે છે તેની ચોક્કસ ગણતરી કરે છે અને ઇન્સ્ટ્રુમેન્ટેશન ઉમેરવા માટે સોર્સ કોડની ટિપ્પણી કરે છે. તે એક પ્રમાણભૂત ઉપયોગિતા છે, જે સન સ્ટુડિયો સોફ્ટવેર સાથે વિના મૂલ્યે પ્રદાન કરવામાં આવે છે. ટી. સી. ઓ. વી. ઉપયોગિતા પ્રોગ્રામ કોડના વિભાગોને કેટલી વાર ચલાવે છે તેની માહિતી આપે છે. તે સ્રોત ફાઇલની નકલ ઉત્પન્ન કરે છે, જે એક્ઝેક્યુશન ફ્રીક્વન્સીઝ સાથે એનોટેટેડ હોય છે. કોડને મૂળભૂત બ્લોક સ્તર અથવા સ્રોત રેખા સ્તર પર ટિપ્પણી કરી શકાય છે. મૂળભૂત બ્લોકમાં નિવેદનો સમાન સંખ્યામાં ચલાવવામાં આવે છે, મૂળભૂત બ્લોક એક્ઝેક્યુશનની ગણતરી બ્લોકમાં દરેક સ્ટેટમેન્ટની સંખ્યા જેટલી વખત ચલાવવામાં આવે છે. ટી. સી. ઓ. વી. ઉપયોગિતા કોઈપણ સમય-આધારિત માહિતી ઉત્પન્ન કરતી નથી. વર્ણન ટી. સી. ઓ. વી. સંકલિત કાર્યક્રમનું પરીક્ષણ કવરેજ વિશ્લેષણ ઉત્પન્ન કરે છે. ટી. સી. ઓ. વી. સ્રોત ફાઇલોને દલીલો તરીકે લે છે અને એનોટેટેડ સ્રોત સૂચિ બનાવે છે. કોડનો દરેક મૂળભૂત બ્લોક (અથવા દરેક લીટી જો tcov નો ચોક્કસ વિકલ્પ ઉલ્લેખિત હોય તો) તેને કેટલી વાર ચલાવવામાં આવી છે તેની સાથે ઉપસર્ગ કરવામાં આવે છે; જે લીટીઓ ચલાવવામાં આવી નથી તેને "#####" સાથે ઉપસર્ગ કરવામાં આવે છે. ટી. સી. ઓ. વી. ઉપયોગિતા એનોટેટેડ પ્રોગ્રામ લિસ્ટિંગના અંતે સારાંશ પણ મૂકે છે. સૌથી વધુ વારંવાર ચલાવવામાં આવતા મૂળભૂત બ્લોક માટેના આંકડાઓ અમલ આવર્તનના ક્રમમાં સૂચિબદ્ધ છે. લાઇન નંબર એ બ્લોકની પ્રથમ લાઇનની સંખ્યા છે. ટી. સી. ઓ. વી. ના બે અમલીકરણ છેઃ ઓલ્ડ સ્ટાઇલ કવરેજ એનાલિસિસઃ આ અમલીકરણમાં, જેને ટી. સી. ઓ. વી. ઓરિજિનલ તરીકે પણ ઓળખવામાં આવે છે, કમ્પાઇલર દરેક ઓબ્જેક્ટ ફાઇલ માટે પ્રત્યય. ડી સાથે કવરેજ ડેટા ફાઇલ બનાવે છે. જ્યારે કાર્યક્રમ પૂર્ણ થાય છે, ત્યારે કવરેજ ડેટા ફાઇલો અપડેટ થાય છે. નવી શૈલી કવરેજ વિશ્લેષણઃ આ અમલીકરણમાં, જેને ટી. સી. ઓ. વી. ઉન્નત તરીકે પણ ઓળખવામાં આવે છે, સંકલન સમયે કોઈ વધારાની ફાઇલો બનાવવામાં આવતી નથી. તેના બદલે, પ્રોફાઇલ ડેટાને સંગ્રહિત કરવા માટે ડિરેક્ટરી બનાવવામાં આવે છે, અને તે ડિરેક્ટરીમાં ટી. સી. ઓ. વી. ડી. નામની એક કવરેજ ડેટા ફાઇલ બનાવવામાં આવે છે. ઉન્નત કવરેજ વિશ્લેષણ મૂળ વિશ્લેષણ સાધનની કેટલીક ખામીઓને દૂર કરે છે, જેમ કેઃ C + + માટે વધુ સંપૂર્ણ ટેકો પૂરો પાડે છે. #include હેડર ફાઇલોમાં મળેલા કોડને ટેકો આપે છે અને ટેમ્પ્લેટ વર્ગો અને કાર્યો માટે કવરેજ નંબરોને અસ્પષ્ટ કરતી ખામીને સુધારે છે. મૂળ ટી. સી. ઓ. વી. રનટાઇમ કરતાં વધુ કાર્યક્ષમ રનટાઇમ. કમ્પાઇલર્સ સપોર્ટ કરે છે તે તમામ પ્લેટફોર્મ્સ માટે સપોર્ટેડ. અમલીકરણ એનોટેટેડ સોર્સ કોડ જનરેટ કરવા માટે, નીચેના ત્રણ પગલાં જરૂરી છેઃ યોગ્ય કમ્પાઇલર વિકલ્પ સાથે કોડ સંકલન પ્રોફાઇલ ડેટા એકઠા કરવા માટે પ્રોગ્રામ એક્ઝેક્યુશન ટી. સી. ઓ. વી. એનોટેટેડ ફાઇલો જનરેટ કરવા માટે કમાન્ડ એક્ઝેક્યુશન દરેક અનુગામી રન પ્રોફાઇલ ડેટા ફાઇલમાં વધુ કવરેજ ડેટા એકઠા કરે છે. દરેક ઓબ્જેક્ટ ફાઇલ માટેનો ડેટા શૂન્ય કરવામાં આવે છે જ્યારે પ્રોગ્રામ ફરીથી સંકલન પછી પ્રથમ વખત ચલાવવામાં આવે છે. સમગ્ર કાર્યક્રમ માટેનો ડેટા ટી. સી. ઓ. વી. ડી. ફાઇલને દૂર કરીને શૂન્ય કરવામાં આવે છે. ઉપરોક્ત પગલાંઓ નીચે મૂળ અને ઉન્નત ટી. સી. ઓ. વી. બંને માટે સમજાવવામાં આવ્યા છેઃ જૂની શૈલી કવરેજ વિશ્લેષણ સ્રોત કોડ સી પ્રોગ્રામ માટે-xa વિકલ્પ અને ફોરટ્રાન અને સી + + પ્રોગ્રામ્સ માટે-a વિકલ્પ સાથે સંકલિત કરવામાં આવ્યો છે. કમ્પાઇલર દરેક ઓબ્જેક્ટ ફાઇલ માટે પ્રત્યય. d સાથે કવરેજ ડેટા ફાઇલ બનાવે છે. કવરેજ ડેટા ફાઇલ પર્યાવરણ ચલ TCOVDIR દ્વારા નિર્દિષ્ટ ડિરેક્ટરીમાં બનાવવામાં આવે છે. જો ટી. સી. ઓ. વી. ડી. આઈ. આર. સુયોજિત ન હોય, તો કવરેજ ડેટા ફાઇલ વર્તમાન ડિરેક્ટરીમાં બનાવવામાં આવે છે. ઉપરોક્ત ઇન્સ્ટ્રુમેન્ટેડ બિલ્ડ ચલાવવામાં આવે છે અને પ્રોગ્રામ પૂર્ણ થયા પછી. d ફાઇલો અપડેટ કરવામાં આવે છે. છેવટે, ટી. સી. ઓ. વી. આદેશ એનોટેટેડ સ્રોત ફાઇલો બનાવવા માટે ચલાવવામાં આવે છે. tcov આદેશનું વાક્યરચના નીચે મુજબ છેઃ tcov વિકલ્પો સ્ત્રોત-ફાઇલ-સૂચિ અહીં, સ્રોત-ફાઇલ-સૂચિ એ સ્રોત કોડ ફાઇલનામોની સૂચિ છે. વિકલ્પોની સૂચિ માટે, tcov નું ડિફોલ્ટ આઉટપુટ એ ફાઇલોનો સમૂહ છે, દરેક પ્રત્યય. tcov સાથે, જેને-o ફાઇલનામ વિકલ્પ સાથે બદલી શકાય છે. કોડ કવરેજ વિશ્લેષણ માટે સંકલિત પ્રોગ્રામ ઘણી વખત ચલાવી શકાય છે (સંભવિત રીતે અલગ અલગ ઇનપુટ સાથે); tcov નો ઉપયોગ દરેક રન પછી વર્તનની તુલના કરવા માટે પ્રોગ્રામ પર કરી શકાય છે. નવી શૈલી કવરેજ વિશ્લેષણ સ્રોત કોડ-x પ્રોફાઇલ = tcov વિકલ્પ સાથે સંકલિત કરવામાં આવ્યો છે. મૂળ મોડથી વિપરીત, ઉન્નત ટી. સી. ઓ. વી. સંકલન સમયે કોઈપણ ફાઇલો જનરેટ કરતું નથી. ઉપરોક્ત ઇન્સ્ટ્રુમેન્ટેડ બિલ્ડ ચલાવવામાં આવે છે અને પ્રોગ્રામ પૂર્ણ થયા પછી, પ્રોફાઇલ ડેટાને સંગ્રહિત કરવા માટે એક ડિરેક્ટરી બનાવવામાં આવે છે, અને તે ડિરેક્ટરીમાં tcovd નામની એક કવરેજ ડેટા ફાઇલ બનાવવામાં આવે છે. ટી. સી. ઓ. વી. ડી. લાઇન નંબરો અને અમલની ગણતરી વિશેની માહિતી ધરાવે છે. તે સાદા લખાણની ફાઇલ છે. મૂળભૂત રીતે, ડિરેક્ટરી તે સ્થાનમાં બનાવવામાં આવે છે જ્યાં પ્રોગ્રામ ચલાવવામાં આવે છે, અને તેનું નામ એક્ઝેક્યુટેબલ પરથી રાખવામાં આવે છે અને. પ્રોફાઇલ દ્વારા પ્રત્યય કરવામાં આવે છે. ડિરેક્ટરીને પ્રોફાઇલ બકેટ તરીકે પણ ઓળખવામાં આવે છે. પ્રોફાઇલ બકેટનું સ્થાન સન _ પ્રોફડેટા _ ડીઆઇઆર અથવા સન _ પ્રોફડેટા પર્યાવરણ ચલ સુયોજિત કરીને ઓવરરાઇડ કરી શકાય છે. છેવટે, ટી. સી. ઓ. વી. આદેશ એનોટેટેડ સ્રોત ફાઇલો બનાવવા માટે ચલાવવામાં આવે છે. tcov આદેશની વાક્યરચના મૂળ આદેશ જેવી જ છે, સિવાય કે ફરજિયાત-x વિકલ્પ. tcov વિકલ્પો-x પ્રોફાઇલબકેટ સ્રોત-ફાઇલ-સૂચિ મૂળ tcov થી આદેશમાં એકમાત્ર તફાવત એ છે કે ઉન્નત tcov ને દર્શાવવા માટે-x દિર વિકલ્પનો ફરજિયાત ઉમેરો છે. ઉદાહરણ સી પ્રોગ્રામિંગ ભાષામાં લખાયેલ નીચેનો પ્રોગ્રામ, પૂર્ણાંકો 1 થી 9 પર લૂપ કરે છે અને મોડ્યુલસ (%) ઓપરેટર સાથે તેમની વિભાજીતતાનું પરીક્ષણ કરે છે. #include <stdio.h> પૂર્ણાંક મુખ્ય (રદબાતલ) {પૂર્ણાંક i; માટે (i = 1; i <10; i + +) {જો (i% 3 = = 0) પ્રિન્ટએફ ("% d એ 3\n દ્વારા વિભાજીત છે", i); જો (i% 11 = = 0) પ્રિન્ટએફ ("% d એ 11\n દ્વારા વિભાજીત છે", i);} રીટર્ન 0;} કવરેજ પરીક્ષણને સક્ષમ કરવા માટે પ્રોગ્રામને નીચેના વિકલ્પો સાથે સંકલિત કરવો આવશ્યક છેઃ જૂની શૈલી કોડ કવરેજ માટે, cc-xa cov.c અને નવી શૈલી કોડ કવરેજ માટે, cc-x પ્રોફાઇલ = tcov-o cov cov.c જ્યાં cov.c નું નામ છે આ એક ઇન્સ્ટ્રુમેન્ટેડ એક્ઝેક્યુટેબલ બનાવે છે જેમાં વધારાની સૂચનાઓ હોય છે જે પ્રોગ્રામની દરેક પંક્તિ કેટલી વાર ચલાવવામાં આવે છે તે રેકોર્ડ કરે છે. - o વિકલ્પનો ઉપયોગ એક્ઝેક્યુટેબલનું નામ સેટ કરવા માટે થાય છે. પછી કવરેજ ડેટા બનાવવા માટે એક્ઝેક્યુટેબલ ચલાવવું આવશ્યક છે. જૂની અને નવી શૈલીના કોડ વિશ્લેષણ માટે આ ફાઇલનું નિર્માણ અને સ્થાન અલગ છે. જૂની શૈલીના વિશ્લેષણમાં, વિસ્તરણ. d સાથેની આ ફાઇલ, સંકલન પછી બનાવવામાં આવી છે, કાં તો TCOVDIR ડિરેક્ટરીમાં અથવા વર્તમાનમાં, કવરેજ ડેટા સાથે અપડેટ કરવામાં આવે છે. નવા શૈલી વિશ્લેષણમાં, કવરેજ ડેટા ફાઇલ, નામ tcovd સાથે, <એક્ઝેક્યુટેબલ નામ>. પ્રોફાઇલ ડિરેક્ટરીમાં બનાવવામાં આવે છે. આ ડેટાનું વિશ્લેષણ tcov આદેશ અને સ્રોત ફાઇલના નામનો ઉપયોગ કરીને કરી શકાય છેઃ જૂની શૈલીના કોડ કવરેજ માટે, tcov cov.c અને નવા શૈલીના કોડ કવરેજ માટે, tcov-x cov.profile cov.c નવી શૈલીના વિશ્લેષણમાં એડિશન દલીલ પ્રોફાઇલ બકેટ છે. tcov આદેશ મૂળ સ્રોત ફાઇલનું એનોટેટેડ વર્ઝન બનાવે છે, જેમાં ફાઇલ એક્સ્ટેંશન '. tcov' હોય છે, જેમાં દરેક લીટી કેટલી વાર ચલાવવામાં આવી હતી તેની ગણતરી હોય છેઃ #include <stdio.h int મુખ્ય (રદબાતલ) {1 int i; 10 માટે (i = 1; i <10; i + +) {9 જો (i% 3 = = 0) 3 પ્રિન્ટએફ ("% d એ 3\n દ્વારા વિભાજીત થાય છે", i); 9 જો (i% 11 = = 0) ####પ્રિન્ટએફ ("% d એ 11\n", i દ્વારા વિભાજીત થાય છે; 9} 1 રીટર્ન 0; 1} tcov ઉપયોગિતા પણ એક મૂકે છે સૌથી વધુ વારંવાર ચલાવવામાં આવતા મૂળભૂત બ્લોક માટેના આંકડાઓ અમલ આવર્તનના ક્રમમાં સૂચિબદ્ધ છે. લાઇન નંબર એ બ્લોકની પ્રથમ લાઇનની સંખ્યા છે. કમાન્ડ લાઇન વિકલ્પો Tcov કમાન્ડ લાઇન યુટિલિટી પ્રોફાઇલ ડેટામાંથી એનોટેટેડ ફાઇલો જનરેટ કરતી વખતે નીચેના વિકલ્પોને સપોર્ટ કરે છેઃ-a: દરેક સ્ટેટમેન્ટ માટે એક્ઝેક્યુશન કાઉન્ટ પ્રદર્શિત કરો. જો આ વિકલ્પ સ્પષ્ટ ન હોય, તો એક્ઝેક્યુશન કાઉન્ટ માત્ર કોડ બ્લોકના નેતા માટે દર્શાવવામાં આવે છે. - n: સૌથી વધુ વારંવાર ચલાવવામાં આવતા n નિવેદનોની પંક્તિ સંખ્યાઓનું કોષ્ટક અને તેમની અમલ ગણતરીઓ પ્રદર્શિત કરો. - o ફાઇલનામઃ આઉટપુટને file.tcov ને બદલે ફાઇલનામ પર દિશામાન કરો. આ વિકલ્પનો ઉપયોગ-નિર્દિષ્ટ કરીને આઉટપુટને પ્રમાણભૂત આઉટપુટ તરફ નિર્દેશિત કરવા માટે થઈ શકે છે. - x ડીઆઇઆરઃ આ નવી શૈલીના કવરેજ વિશ્લેષણમાં આધારભૂત છે. જો આ વિકલ્પ સ્પષ્ટ ન હોય તો, જૂની શૈલીનું ટી. સી. ઓ. વી. કવરેજ ધારવામાં આવે છે. સન સ્ટુડિયો કમ્પાઇલર સ્યુટ પણ જુઓ જે Tcov કોમન ડેવલપમેન્ટ એન્ડ ડિસ્ટ્રિબ્યુશન લાઇસન્સ કોડ કવરેજ Gcov, GCC રેફરન્સ સોફ્ટવેર મેટ્રિક્સ સોફ્ટવેર ટેસ્ટિંગ ટૂલ્સ દ્વારા પ્રદાન કરાયેલ કોડ કવરેજ ટૂલ પ્રદાન કરે છે.