অ্যাথেরিস, একটি পাইথন কোড টেস্টিং টুলকিট

গুগল উন্মোচন সম্প্রতি মুক্তি অ্যাথেরিস প্রকল্প, যা একটি উন্নয়ন মুক্ত উত্স সরঞ্জামগুলির একটি সেট বিশেষ পাইথন কোডের ধোঁয়াটে পরীক্ষার জন্য এবং সিপিথনের জন্য এক্সটেনশনগুলি সি / সি ++ এ লিখিত।

প্রকল্পটি একটি লাইবফুজার ভিত্তিক ইঞ্জিন ব্যবহার করে এবং অতিরিক্ত ত্রুটি সনাক্ত করতে ঠিকানা স্যানিটাইজার এবং অপরিজ্ঞাত আচরণ স্যানিটাইজার সরঞ্জামগুলির সাথে একত্রে ব্যবহার করা যেতে পারে। কোডটি অ্যাপাচি ২.০ লাইসেন্সের অধীনে উন্মুক্ত।

গুগল অ্যাথেরিস সম্পর্কে

গুগল অ্যাথেরিসের ভাষায়, এটি এমন একটি সরঞ্জামকিট যা পাইথন কোড এবং নেটিভ এক্সটেনশনে স্বয়ংক্রিয়ভাবে ত্রুটিগুলি খুঁজে পেতে ব্যবহার করা যেতে পারে। অ্যাথেরিস হ'ল 'কভারেজ চালিত' ফ্যুজার, যার অর্থ এথেরিস আপনার প্রোগ্রামটি চালিত হওয়ার সময় বারবার বিভিন্ন ইনপুট পরীক্ষা করে দেখবে এবং আকর্ষণীয় পাথ অনুসন্ধান করার চেষ্টা করবে।

পাইথন 2.7 এবং পাইথন 3.3+ এর জন্য কোড পর্যালোচনা সমর্থিত supported, তবে পূর্ণ, গাইডেড কভারেজের জন্য আমরা পাইথন ৩.৮ এবং ৩.৯ শাখা ব্যবহার করার পরামর্শ দিচ্ছি, যা এখন অপকোড দ্বারা অপকড পরিসংখ্যানকে সমর্থন করে।

প্রক্রিয়া, অ্যাথেরিস ইনপুট ডেটার সম্ভাব্য সংমিশ্রণের তালিকা তৈরি করে এবং একটি প্রতিবেদন তৈরি করে সমস্ত সনাক্ত ত্রুটি এবং অনিচ্ছুক ব্যতিক্রমগুলিতে।

উদাহরণস্বরূপ, অ্যাথেরিসের ওয়াইএএমএল পার্সিং লাইব্রেরিটি পরীক্ষা করার সময়, পাওয়া গেল যে কিছু ওয়াইএএমএল রচনাগুলি যেমন একটি পূর্ণসংখ্যার মানের পরিবর্তে "-_" নির্দিষ্ট করা বা কোনও কীটির পরিবর্তে একটি তালিকা ব্যবহার করে একটি এর পরিবর্তে অপ্রত্যাশিত ব্যতিক্রম ছুঁড়ে ফেলে YAMLErferences স্ট্যান্ডার্ড ত্রুটি।

প্রোগ্রামিং ত্রুটিগুলি আবিষ্কার করার জন্য ফজ পরীক্ষাটি একটি সুপরিচিত কৌশল। এই সনাক্তকারী ত্রুটিগুলির মধ্যে অনেকের গুরুতর সুরক্ষা জড়িত। গুগল এই কৌশলটি ব্যবহার করার সময় হাজার হাজার সুরক্ষা দুর্বলতা এবং অন্যান্য বাগ খুঁজে পেয়েছে। ফাজিং traditionতিহ্যগতভাবে সি বা সি ++ এর মতো স্থানীয় ভাষায় ব্যবহৃত হয়, তবে গত বছর আমরা একটি নতুন পাইথন ফিজিং ইঞ্জিন তৈরি করেছি। আজ, আমরা ওপেন সোর্স হিসাবে অ্যাথেরিসের ঝাপটায় ইঞ্জিনটি প্রকাশ করেছি।

অ্যাথেরিস আচরণের পার্থক্য সনাক্ত করতেও ব্যবহার করা যেতে পারে অভিন্ন কাজগুলিকে লক্ষ্য করে পাঠাগারগুলি। উদাহরণস্বরূপ, পাইথন প্যাকেজ "ইডনা" এবং গ্রন্থাগার "লিবিডন 2" এর সংক্ষিপ্তসার পরীক্ষা করে দেখা গেছে যে আন্তর্জাতিক ডোমেন নামগুলি ডিকোডিংয়ের কাজটি সম্পাদন করে তারা দেখতে পায় যে তারা সর্বদা একই ফল দেয় না।

অ্যাথেরিসের সেরা ব্যবহারগুলির মধ্যে একটি হল ডিফারেনশিয়াল ডিফিউজারগুলির জন্য। এগুলি হুবহু যা দুটি লাইব্রেরির আচরণের মধ্যে পার্থক্য সন্ধান করে যা একই কাজ করতে বোঝানো হয়। অ্যাথেরিসের সাথে বান্ডিল করা ফিজারগুলির মধ্যে একটি পাইথনের "ইডনা" প্যাকেজটিকে সি "লিবিডন 2" প্যাকেজের সাথে তুলনা করার জন্য ঠিক এটি করে।

বিশেষত, যদি ডোমেনটি ইউনিকোড সিকোয়েন্সগুলি ব্যবহার করে, তবে "idna" এবং "libidn2" আন্তর্জাতিক ডোমেন নামটি বিভিন্ন হোস্টে রূপান্তর করে।

সাধারণভাবে, অ্যাথেরিস যথাযথ পাইথন কোডটিতে ততক্ষণ কার্যকর, যতক্ষণ না এটি "সঠিক" আচরণটি কী তা প্রকাশ করার উপায় রয়েছে বা কমপক্ষে কোন আচরণগুলি অবশ্যই সঠিক নয় তা প্রকাশ করার উপায় রয়েছে। এটি ফিজারে কাস্টম কোডের মতো জটিল হতে পারে যা কোনও লাইব্রেরির আউটপুটটির যথার্থতা নির্ধারণ করে, বা কোনও অপ্রত্যাশিত ব্যতিক্রম উত্থাপিত হয় না তা যাচাই করার মতো সাধারণ।

এটি আমলে নেওয়া গুরুত্বপূর্ণ ফাজিং টেস্টগুলি ইনপুট ডেটার সমস্ত ধরণের এলোমেলো সংমিশ্রণের একটি স্ট্রিম উত্পন্ন করে, প্রকৃত ডেটা (যেমন র্যান্ডম ট্যাগের প্যারামিটারগুলির সাথে html পৃষ্ঠাগুলি, ফাইল বা অস্বাভাবিক শিরোনামযুক্ত চিত্রগুলি ইত্যাদি) এর নিকটে এবং প্রক্রিয়াটিতে সম্ভাব্য সমস্যাগুলি সমাধান করে।

যদি কোনও ক্রম কোনও ব্যতিক্রমের ফলাফল দেয় বা প্রত্যাশিত প্রতিক্রিয়ার সাথে মেলে না, এই আচরণটি সম্ভবত সম্ভবত কোনও বাগ বা দুর্বলতা নির্দেশ করে।

অবশেষে, উল্লেখ হিসাবে অ্যাথেরিস 2.7 এবং 3.3+ সংস্করণে পাইথন কোডের সাথে কাজ করে, যদিও গুগল সিপিথনের জন্য লিখিত 3.8+ এবং নেটিভ এক্সটেনশনগুলি ব্যবহার করার জন্য দৃ strongly়ভাবে সুপারিশ করে।

উইন্ডোজ এখনও সমর্থিত অপারেটিং সিস্টেমের মধ্যে নেইসুতরাং ইঞ্জিনটি আপাতত কেবল লিনাক্স এবং ম্যাক ওএস এক্স ব্যবহারকারীদেরই আগ্রহী।

এটি এই প্ল্যাটফর্মগুলিতে ব্যবহার করতে, বিকাশকারীদের অবশ্যই ক্ল্যাং সংকলক ফ্রন্টএন্ডের একটি বর্তমান সংস্করণ ইনস্টল থাকা উচিত।

আপনি যদি এটি সম্পর্কে আরও জানতে চান, আপনি মূল নোটটি পরীক্ষা করতে পারেন নিম্নলিখিত লিঙ্ক.


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।