Tcov
Tcov فورٹرن، C اور C + + میں لکھے گئے سافٹ ویئر کے لیے ایک سورس کوڈ کوریج تجزیہ اور بیان بہ بیان پروفائلنگ ٹول ہے۔ Tcov کسی پروگرام میں ہر بیان کو کتنی بار انجام دیا جاتا ہے اس کی درست گنتی کرتا ہے اور آلات کو شامل کرنے کے لیے سورس کوڈ کی تشریح کرتا ہے۔ یہ ایک معیاری افادیت ہے، جو سن اسٹوڈیو سافٹ ویئر کے ساتھ مفت فراہم کی جاتی ہے۔ ٹی سی او وی یوٹیلیٹی اس بارے میں معلومات فراہم کرتی ہے کہ کوئی پروگرام کتنی بار کوڈ کے حصوں کو انجام دیتا ہے۔ یہ ماخذ فائل کی ایک کاپی تیار کرتا ہے، جس پر عمل درآمد کی تعدد کے ساتھ تبصرہ کیا جاتا ہے۔ کوڈ کو بنیادی بلاک کی سطح یا سورس لائن کی سطح پر بیان کیا جا سکتا ہے۔ جیسا کہ ایک بنیادی بلاک میں بیانات کو ایک ہی تعداد میں پھانسی دی جاتی ہے، بنیادی بلاک پھانسی کی گنتی بلاک میں ہر بیان کو پھانسی کی تعداد کے برابر ہوتی ہے۔ ٹی سی او وی یوٹیلیٹی وقت پر مبنی ڈیٹا تیار نہیں کرتی ہے۔ تفصیل tcov ایک مرتب شدہ پروگرام کا ٹیسٹ کوریج تجزیہ تیار کرتا ہے۔ tcov ماخذ فائلوں کو دلائل کے طور پر لیتا ہے اور ایک تشریح شدہ ماخذ کی فہرست تیار کرتا ہے۔ کوڈ کا ہر بنیادی بلاک (یا ہر لائن اگر tcov کا مخصوص آپشن متعین کیا گیا ہے) کو اس کے پھانسی کی تعداد کے ساتھ پیش کیا جاتا ہے ؛ جن لائنوں کو پھانسی نہیں دی گئی ہے انہیں "####" کے ساتھ پیش کیا جاتا ہے۔ ٹی سی او وی یوٹیلیٹی اینوٹیٹڈ پروگرام لسٹنگ کے آخر میں ایک خلاصہ بھی رکھتی ہے۔ سب سے زیادہ بار بار انجام دیے جانے والے بنیادی بلاکس کے اعداد و شمار انجام دینے کی تعدد کی ترتیب میں درج ہیں۔ لائن نمبر بلاک میں پہلی لائن کا نمبر ہے۔ ٹی سی او وی کے دو نفاذ ہیں: اولڈ اسٹائل کوریج تجزیہ: اس نفاذ میں، جسے ٹی سی او وی اوریجنل بھی کہا جاتا ہے، مرتب کرنے والا ہر آبجیکٹ فائل کے لیے لاحقہ. d کے ساتھ ایک کوریج ڈیٹا فائل بناتا ہے۔ جب پروگرام مکمل ہوتا ہے تو کوریج ڈیٹا فائلوں کو اپ ڈیٹ کیا جاتا ہے۔ نیو اسٹائل کوریج تجزیہ: اس عمل میں، جسے ٹی سی او وی انہانسڈ بھی کہا جاتا ہے، مرتب کرنے کے وقت کوئی اضافی فائلیں نہیں بنائی جاتی ہیں۔ اس کے بجائے، پروفائل ڈیٹا کو ذخیرہ کرنے کے لیے ڈائرکٹری بنائی جاتی ہے، اور اس ڈائرکٹری میں tcovd نامی ایک واحد کوریج ڈیٹا فائل بنائی جاتی ہے۔ بہتر کوریج تجزیہ اصل تجزیہ ٹول کی کچھ کوتاہیوں پر قابو پاتا ہے، جیسے: C + + کے لیے مزید مکمل تعاون فراہم کرتا ہے۔ #include ہیڈر فائلوں میں پائے جانے والے کوڈ کی حمایت کرتا ہے اور اس خامی کو درست کرتا ہے جس نے ٹیمپلیٹ کلاسوں اور افعال کے لیے کوریج نمبروں کو غیر واضح کر دیا تھا۔ اصل tcov رن ٹائم سے زیادہ موثر رن ٹائم۔ ان تمام پلیٹ فارمز کے لیے سپورٹ کیا گیا ہے جنہیں مرتب کرنے والے سپورٹ کرتے ہیں۔ نفاذ اینوٹیٹڈ سورس کوڈ تیار کرنے کے لیے، درج ذیل تین مراحل درکار ہیں: مناسب کمپائلر آپشن کے ساتھ کوڈ کی تالیف پروفائل ڈیٹا کو جمع کرنے کے لیے پروگرام پر عمل درآمد ٹی سی او وی کمانڈ پر عمل درآمد اینوٹیٹڈ فائلیں تیار کرنے کے لیے ہر بعد کا رن پروفائل ڈیٹا فائل میں مزید کوریج ڈیٹا جمع کرتا ہے۔ ہر آبجیکٹ فائل کے لیے ڈیٹا کو صفر کر دیا جاتا ہے جب پروگرام کو دوبارہ مرتب کرنے کے بعد پہلی بار انجام دیا جاتا ہے۔ پورے پروگرام کے لیے ڈیٹا کو ٹی سی او وی ڈی فائل کو ہٹا کر صفر کیا جاتا ہے۔ مندرجہ بالا مراحل کو اصل اور بہتر ٹی سی او وی دونوں کے لیے ذیل میں بیان کیا گیا ہے: اولڈ اسٹائل کوریج تجزیہ سورس کوڈ کو سی پروگرام کے لیے-xa آپشن اور فورٹرن اور سی + + پروگراموں کے لیے-a آپشن کے ساتھ مرتب کیا گیا ہے۔ مرتب کرنے والا ہر آبجیکٹ فائل کے لیے لاحقہ. d کے ساتھ ایک کوریج ڈیٹا فائل بناتا ہے۔ کوریج ڈیٹا فائل ماحولیاتی متغیر ٹی سی او وی ڈی آئی آر کے ذریعہ مخصوص ڈائریکٹری میں بنائی گئی ہے۔ اگر ٹی سی او وی ڈی آئی آر سیٹ نہیں ہے، تو کوریج ڈیٹا فائل موجودہ ڈائرکٹری میں بنائی جاتی ہے۔ مندرجہ بالا انسٹرومینٹڈ بلڈ چلایا جاتا ہے اور پروگرام کی تکمیل پر. d فائلوں کو اپ ڈیٹ کیا جاتا ہے۔ آخر میں، ٹی سی او وی کمانڈ اینوٹیٹڈ سورس فائلیں بنانے کے لیے چلائی جاتی ہے۔ tcov کمانڈ کا نحو مندرجہ ذیل ہے: tcov آپشنز سورس فائل لسٹ یہاں، سورس فائل لسٹ سورس کوڈ فائل ناموں کی فہرست ہے۔ اختیارات کی فہرست کے لیے، tcov کا ڈیفالٹ آؤٹ پٹ فائلوں کا ایک مجموعہ ہے، جس میں سے ہر ایک کا لاحقہ. tcov ہے، جسے-o فائل نام کے آپشن سے تبدیل کیا جا سکتا ہے۔ کوڈ کوریج تجزیہ کے لیے مرتب کردہ پروگرام کو متعدد بار چلایا جا سکتا ہے (ممکنہ طور پر مختلف ان پٹ کے ساتھ) ؛ tcov کو ہر رن کے بعد پروگرام پر رویے کا موازنہ کرنے کے لیے استعمال کیا جا سکتا ہے۔ نیو اسٹائل کوریج تجزیہ سورس کوڈ-x پروفائل = tcov آپشن کے ساتھ مرتب کیا گیا ہے۔ اصل موڈ کے برعکس، بہتر tcov مرتب کرنے کے وقت کوئی فائل تیار نہیں کرتا ہے۔ مذکورہ بالا انسٹرومینٹڈ بلڈ چلایا جاتا ہے اور پروگرام کی تکمیل پر، پروفائل ڈیٹا کو اسٹور کرنے کے لیے ایک ڈائرکٹری بنائی جاتی ہے، اور اس ڈائرکٹری میں tcovd نامی ایک واحد کوریج ڈیٹا فائل بنائی جاتی ہے۔ ٹی سی او وی ڈی لائن نمبروں اور ان پر عمل درآمد کی گنتی کے بارے میں معلومات رکھتا ہے۔ یہ ایک سادہ ٹیکسٹ فائل ہے۔ ڈیفالٹ طور پر، ڈائرکٹری اس جگہ پر بنائی جاتی ہے جہاں پروگرام چلایا جاتا ہے، اور اس کا نام قابل عمل کے نام پر رکھا جاتا ہے اور اس کا لاحقہ. پروفائل ہوتا ہے۔ ڈائرکٹری کو پروفائل بالٹی بھی کہا جاتا ہے۔ پروفائل بالٹی کے مقام کو سن _ پروفڈاٹا _ ڈی آئی آر یا سن _ پروفڈاٹا ماحولیاتی متغیرات ترتیب دے کر اوور رائڈ کیا جا سکتا ہے۔ آخر میں، ٹی سی او وی کمانڈ اینوٹیٹڈ سورس فائلیں بنانے کے لیے چلائی جاتی ہے۔ tcov کمانڈ کا نحو وہی ہے جو اصل کمانڈ کے لیے ہے، سوائے لازمی-x آپشن کے۔ tcov آپشنز-x پروفائل بکٹ سورس-فائل-لسٹ اصل tcov سے کمانڈ میں صرف فرق یہ ہے کہ بہتر tcov کو ظاہر کرنے کے لیے-x دیر آپشن کا لازمی اضافہ ہے۔ مثال مندرجہ ذیل پروگرام، جو سی پروگرامنگ زبان میں لکھا گیا ہے، انٹیجرز 1 سے 9 پر لوپ کرتا ہے اور ماڈیولس (٪) آپریٹر کے ساتھ ان کی تقسیم کی جانچ کرتا ہے۔ کوریج کی جانچ کو فعال کرنے کے لیے پروگرام کو درج ذیل اختیارات کے ساتھ مرتب کیا جانا چاہیے: پرانے طرز کے کوڈ کوریج کے لیے، cc-xa cov.c اور نئے طرز کے کوڈ کوریج کے لیے، cc-xProfyle = tcov-o cov cov.c جہاں cov.c کا نام ہے۔ یہ ایک انسٹرومینٹڈ ایگزیکٹوبل بناتا ہے جس میں اضافی ہدایات ہوتی ہیں جو پروگرام کی ہر لائن پر عمل درآمد کی تعداد کو ریکارڈ کرتی ہیں۔ - o آپشن قابل عمل کا نام سیٹ کرنے کے لیے استعمال ہوتا ہے۔ اس کے بعد کوریج ڈیٹا بنانے کے لیے قابل عمل کو چلانا ضروری ہے۔ اس فائل کی تخلیق اور مقام پرانے اور نئے طرز کے کوڈ کے تجزیے کے لیے مختلف ہے۔ پرانے طرز کے تجزیے میں، توسیع. d والی یہ فائل، جو تالیف کے بعد بنائی گئی ہے، یا تو ٹی سی او وی ڈی آئی آر ڈائرکٹری میں یا موجودہ میں، کوریج ڈیٹا کے ساتھ اپ ڈیٹ کی جاتی ہے۔ نئے طرز کے تجزیے میں، کوریج ڈیٹا فائل، جس کا نام 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: سب سے زیادہ بار بار انجام دیے جانے والے بیانات اور ان کے نفاذ کی گنتی کے لائن نمبروں کا ڈسپلے ٹیبل۔ - o فائل کا نام: آؤٹ پٹ کو file.tcov کے بجائے فائل کا نام دیں۔ اس آپشن کو-کی وضاحت کرکے آؤٹ پٹ کو معیاری آؤٹ پٹ پر بھیجنے کے لیے استعمال کیا جا سکتا ہے۔ - x ڈائر: اس کی حمایت نئے اسٹائل کوریج تجزیہ میں کی جاتی ہے۔ اگر اس آپشن کی وضاحت نہیں کی گئی ہے، تو پرانے طرز کی ٹی سی او وی کوریج فرض کی جاتی ہے۔ سن اسٹوڈیو، مرتب کرنے والا سوٹ بھی دیکھیں جو Tcov کامن ڈویلپمنٹ اینڈ ڈسٹری بیوشن لائسنس کوڈ کوریج Gcov، GCC حوالہ جات سافٹ ویئر میٹرکس سافٹ ویئر ٹیسٹنگ ٹولز کے ذریعہ فراہم کردہ کوڈ کوریج ٹول فراہم کرتا ہے۔