Tcov
টি. সি. ও. ভি হল ফোরট্রান, সি এবং সি + + ভাষায় লেখা সফ্টওয়্যারের জন্য একটি সোর্স কোড কভারেজ বিশ্লেষণ এবং বিবৃতি-দ্বারা-বিবৃতি প্রোফাইলিং টুল। Tcov একটি প্রোগ্রামে প্রতিটি বিবৃতি কতবার কার্যকর করা হয় তার সঠিক গণনা তৈরি করে এবং যন্ত্রপাতি যোগ করার জন্য সোর্স কোডের বিবরণ দেয়। এটি একটি স্ট্যান্ডার্ড ইউটিলিটি, যা সান স্টুডিও সফ্টওয়্যারের সাথে বিনামূল্যে প্রদান করা হয়। টি. সি. ও. ভি ইউটিলিটি একটি প্রোগ্রাম কতবার কোডের অংশগুলি কার্যকর করে সে সম্পর্কে তথ্য দেয়। এটি সোর্স ফাইলের একটি অনুলিপি তৈরি করে, যা এক্সিকিউশন ফ্রিকোয়েন্সি সহ টীকা করা হয়। কোডটি মৌলিক ব্লক স্তর বা সোর্স লাইন স্তরে ব্যাখ্যা করা যেতে পারে। যেহেতু একটি মৌলিক ব্লকের বিবৃতিগুলি একই সংখ্যক বার কার্যকর করা হয়, তাই মৌলিক ব্লক কার্যকরকরণের গণনা ব্লকের প্রতিটি বিবৃতি কতবার কার্যকর করা হয় তার সমান। টি. সি. ও. ভি ইউটিলিটি কোনও সময়-ভিত্তিক তথ্য তৈরি করে না। বর্ণনা টি. সি. ও. ভি একটি সংকলিত প্রোগ্রামের একটি পরীক্ষা কভারেজ বিশ্লেষণ তৈরি করে। tcov সোর্স ফাইলগুলিকে আর্গুমেন্ট হিসাবে নেয় এবং একটি টীকাযুক্ত সোর্স তালিকা তৈরি করে। কোডের প্রতিটি মৌলিক ব্লক (অথবা প্রতিটি লাইন যদি tcov-এর নির্দিষ্ট বিকল্প নির্দিষ্ট করা থাকে) এটি কতবার কার্যকর করা হয়েছে তার সাথে প্রিফিক্স করা হয়; যে লাইনগুলি কার্যকর করা হয়নি সেগুলি "####" দিয়ে প্রিফিক্স করা হয়। টি. সি. ও. ভি ইউটিলিটি টীকাকৃত প্রোগ্রাম তালিকার শেষে একটি সারসংক্ষেপও রাখে। সবচেয়ে ঘন ঘন সম্পাদিত মৌলিক ব্লকগুলির পরিসংখ্যানগুলি কার্যকরকরণের ফ্রিকোয়েন্সি অনুসারে তালিকাভুক্ত করা হয়েছে। লাইন নম্বর হল ব্লকের প্রথম লাইনের নম্বর। টি. সি. ও. ভি-এর দুটি বাস্তবায়ন রয়েছেঃ ওল্ড স্টাইল কভারেজ বিশ্লেষণঃ এই বাস্তবায়নে, যা টি. সি. ও. ভি অরিজিনাল নামেও পরিচিত, সংকলক প্রতিটি অবজেক্ট ফাইলের জন্য. ডি প্রত্যয় সহ একটি কভারেজ ডেটা ফাইল তৈরি করে। যখন প্রোগ্রামটি সম্পূর্ণ হয়, তখন কভারেজ ডেটা ফাইলগুলি আপডেট করা হয়। নতুন শৈলীর কভারেজ বিশ্লেষণঃ এই বাস্তবায়নে, যা টিকোভ বর্ধিত নামেও পরিচিত, সংকলনের সময় কোনও অতিরিক্ত ফাইল তৈরি করা হয় না। পরিবর্তে, প্রোফাইল ডেটা সংরক্ষণের জন্য ডিরেক্টরি তৈরি করা হয় এবং সেই ডিরেক্টরিতে tcovd নামে একটি একক কভারেজ ডেটা ফাইল তৈরি করা হয়। বর্ধিত কভারেজ বিশ্লেষণ মূল বিশ্লেষণ সরঞ্জামের কিছু ত্রুটি অতিক্রম করে, যেমনঃ সি + +-এর জন্য আরও সম্পূর্ণ সমর্থন প্রদান করে। #include হেডার ফাইলগুলিতে পাওয়া কোডকে সমর্থন করে এবং একটি ত্রুটি সংশোধন করে যা টেমপ্লেট ক্লাস এবং ফাংশনগুলির জন্য কভারেজ নম্বরগুলিকে অস্পষ্ট করে দেয়। মূল টি. সি. ও. ভি রানটাইমের তুলনায় আরও দক্ষ রানটাইম। কম্পাইলারগুলি সমর্থন করে এমন সমস্ত প্ল্যাটফর্মের জন্য সমর্থিত। বাস্তবায়ন টীকাযুক্ত উৎস কোড তৈরি করতে, নিম্নলিখিত তিনটি ধাপ প্রয়োজনঃ যথাযথ সংকলক বিকল্পের সাথে কোড সংকলন প্রোফাইল ডেটা জমা করার জন্য প্রোগ্রাম এক্সিকিউশন টি. সি. ও. ভি কমান্ড এক্সিকিউশন টীকায়িত ফাইল তৈরি করার জন্য প্রতিটি পরবর্তী রান প্রোফাইল ডেটা ফাইলে আরও কভারেজ ডেটা সংগ্রহ করে। প্রতিটি অবজেক্ট ফাইলের জন্য ডেটা শূন্য করা হয় যখন প্রোগ্রামটি পুনরায় সংকলনের পরে প্রথমবার কার্যকর করা হয়। টি. সি. ও. ভি. ডি ফাইলটি সরিয়ে পুরো প্রোগ্রামের তথ্য শূন্য করা হয়। উপরের ধাপগুলি নীচে মূল এবং বর্ধিত টি. সি. ও. ভি উভয়ের জন্য ব্যাখ্যা করা হয়েছেঃ ওল্ড স্টাইল কভারেজ বিশ্লেষণ সোর্স কোডটি সি প্রোগ্রামের জন্য-xa বিকল্প এবং ফোরট্রান এবং সি + + প্রোগ্রামের জন্য-একটি বিকল্পের সাথে সংকলিত হয়েছে। সংকলক প্রতিটি অবজেক্ট ফাইলের জন্য. d প্রত্যয় সহ একটি কভারেজ ডেটা ফাইল তৈরি করে। কভারেজ ডেটা ফাইলটি পরিবেশ পরিবর্তনশীল টি. সি. ও. ভি. ডি. আই. আর দ্বারা নির্দিষ্ট ডিরেক্টরিতে তৈরি করা হয়। যদি টি. সি. ও. ভি. ডি. আই. আর সেট না করা থাকে, তাহলে বর্তমান ডিরেক্টরিতে কভারেজ ডেটা ফাইল তৈরি করা হয়। উপরের যন্ত্রযুক্ত বিল্ডটি চালানো হয় এবং প্রোগ্রাম সমাপ্তির পরে. d ফাইলগুলি আপডেট করা হয়। পরিশেষে, টীকভ কমান্ডটি অ্যানোটেটেড সোর্স ফাইল তৈরি করতে চালানো হয়। tcov কমান্ডের বাক্যবিন্যাস নিম্নরূপঃ tcov বিকল্প উৎস-ফাইল-তালিকা এখানে, উৎস-ফাইল-তালিকা হল উৎস কোড ফাইলের নামের একটি তালিকা। বিকল্পগুলির তালিকার জন্য, tcov-এর ডিফল্ট আউটপুট হল ফাইলগুলির একটি সেট, যার প্রতিটিতে. tcov প্রত্যয় রয়েছে, যা-o ফাইলের নাম বিকল্পের সাথে পরিবর্তন করা যেতে পারে। কোড কভারেজ বিশ্লেষণের জন্য সংকলিত একটি প্রোগ্রাম একাধিকবার চালানো যেতে পারে (সম্ভাব্য পরিবর্তিত ইনপুট সহ); আচরণের তুলনা করার জন্য প্রতিটি রানের পরে প্রোগ্রামে tcov ব্যবহার করা যেতে পারে। নতুন শৈলীর কভারেজ বিশ্লেষণ সোর্স কোডটি-x প্রোফাইল = tcov বিকল্পের সাথে সংকলিত হয়েছে। মূল মোডের বিপরীতে, বর্ধিত টি. সি. ও. ভি সংকলন করার সময় কোনও ফাইল তৈরি করে না। উপরের ইন্সট্রুমেন্টেড বিল্ডটি চালানো হয় এবং প্রোগ্রাম সমাপ্তির পরে, প্রোফাইল ডেটা সংরক্ষণের জন্য একটি ডিরেক্টরি তৈরি করা হয় এবং সেই ডিরেক্টরিতে tcovd নামে একটি একক কভারেজ ডেটা ফাইল তৈরি করা হয়। tcovd লাইন নম্বর এবং কার্যকর গণনা সম্পর্কে তথ্য রাখে। এটি একটি সাধারণ পাঠ্য ফাইল। ডিফল্টরূপে, ডিরেক্টরিটি সেই স্থানে তৈরি করা হয় যেখানে প্রোগ্রামটি চালানো হয় এবং এটি এক্সিকিউটেবলের নামে নামকরণ করা হয় এবং. প্রোফাইল দ্বারা প্রত্যয়িত হয়। ডিরেক্টরিটি প্রোফাইল বালতি নামেও পরিচিত। সান _ প্রোফডাটা _ ডিআইআর বা সান _ প্রোফডাটা এনভায়রনমেন্ট ভেরিয়েবল সেট করে প্রোফাইল বালতির অবস্থানকে ওভাররাইড করা যেতে পারে। পরিশেষে, টীকভ কমান্ডটি অ্যানোটেটেড সোর্স ফাইল তৈরি করতে চালানো হয়। বাধ্যতামূলক-x বিকল্প ব্যতীত, tcov কমান্ডের বাক্য গঠন মূল কমান্ডের মতোই। tcov বিকল্পগুলি-x প্রোফাইলবাকেট উৎস-ফাইল-তালিকা মূল tcov থেকে কমান্ডের মধ্যে একমাত্র পার্থক্য হল-x দির বিকল্পের বাধ্যতামূলক সংযোজন যা বর্ধিত tcov বোঝায়। উদাহরণ সি প্রোগ্রামিং ভাষায় লেখা নিম্নলিখিত প্রোগ্রামটি পূর্ণসংখ্যা 1 থেকে 9-এর উপর লুপ করে এবং মডুলাস (%) অপারেটরের সাথে তাদের বিভাজ্যতা পরীক্ষা করে। #include <stdio.h> int মেইন (অকার্যকর) {int 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 বিকল্পটি এক্সিকিউটেবলের নাম নির্ধারণ করতে ব্যবহৃত হয়। কভারেজ ডেটা তৈরি করতে এক্সিকিউটেবলটি অবশ্যই চালাতে হবে। পুরনো এবং নতুন শৈলীর কোড বিশ্লেষণের জন্য এই ফাইলের সৃষ্টি এবং অবস্থান আলাদা। পুরানো শৈলী বিশ্লেষণে, এক্সটেনশন. ডি সহ এই ফাইলটি, সংকলনের পরে তৈরি করা হয়, হয় টি. সি. ও. ভি. ডি. আই. আর ডিরেক্টরিতে বা বর্তমান ডিরেক্টরিতে, কভারেজ ডেটা সহ আপডেট করা হয়। নতুন শৈলী বিশ্লেষণে, কভারেজ ডেটা ফাইল, 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 দিরঃ এটি নতুন শৈলীর কভারেজ বিশ্লেষণে সমর্থিত। যদি এই বিকল্পটি নির্দিষ্ট না করা থাকে, তবে পুরানো শৈলীর টি. সি. ও. ভি কভারেজ অনুমান করা হয়। আরও দেখুন সান স্টুডিও, কম্পাইলার স্যুট যা টিসিবি কমন ডেভেলপমেন্ট অ্যান্ড ডিস্ট্রিবিউশন লাইসেন্স কোড কভারেজ প্রদান করে, জিসিসি রেফারেন্স সফ্টওয়্যার মেট্রিক্স সফ্টওয়্যার টেস্টিং টুলস দ্বারা প্রদত্ত কোড কভারেজ টুল।