বড় ভাষা মডেল (LLMs) এর দ্রুত উন্নয়ন স্বয়ংক্রিয়ভাবে বৈচিত্র্যময় এবং কার্যকর পরীক্ষার ইনপুট তৈরি করে সফটওয়্যার পরীক্ষা, বিশেষত ফাজ টেস্টিং এ বিপ্লব ঘটিয়েছে। একই সাথে, MOJO একটি উচ্চ-কর্মক্ষমতা সম্পন্ন AI প্রোগ্রামিং ভাষা হিসেবে Python এর সহজবোধ্যতা এবং C/C++ এর দক্ষতা একত্রিত করে, AI মডেলের স্কেলেবিলিটি এবং প্রোগ্রামযোগ্যতা বৃদ্ধির নতুন সুযোগ প্রদান করে। তবে, একটি নতুন ভাষা হিসেবে, MOJO ব্যাপক পরীক্ষা কাঠামো এবং পর্যাপ্ত LLM প্রশিক্ষণ কর্পাস অভাব করে, যা মডেল হ্যালুসিনেশন সমস্যা বৃদ্ধি করে। এই চ্যালেঞ্জ মোকাবেলায়, এই পেপারটি MOJOFuzzer প্রস্তাব করে, যা নতুন প্রোগ্রামিং ভাষার জন্য জিরো-শট লার্নিং পরিবেশে ডিজাইন করা প্রথম অভিযোজনশীল LLM ফাজ টেস্টিং ফ্রেমওয়ার্ক। পরীক্ষামূলক ফলাফল দেখায় যে MOJOFuzzer পরীক্ষার কার্যকারিতা, API কভারেজ এবং ত্রুটি সনাক্তকরণ কর্মক্ষমতায় ঐতিহ্যবাহী ফাজ টেস্টিং এবং অত্যাধুনিক LLM-ভিত্তিক ফাজ টেস্টিং পদ্ধতির চেয়ে উল্লেখযোগ্যভাবে উন্নত, MOJO তে ১৩টি অজানা ত্রুটি সফলভাবে আবিষ্কার করেছে।
এই গবেষণা যে মূল সমস্যা সমাধান করে তা হল নতুন প্রোগ্রামিং ভাষার ফাজ টেস্টিং চ্যালেঞ্জ, বিশেষত জিরো-শট লার্নিং পরিবেশে যেখানে পর্যাপ্ত প্রশিক্ষণ ডেটা অনুপস্থিত।
১. AI উন্নয়ন চাহিদা: স্বয়ংচালিত গাড়ি, চিকিৎসা নির্ণয়, আর্থিক সেবা ইত্যাদি গুরুত্বপূর্ণ ক্ষেত্রে AI এর ব্যাপক প্রয়োগের সাথে, দক্ষ প্রোগ্রামিং ভাষার সমর্থন প্রয়োজন ২. MOJO ভাষার সম্ভাবনা: MOJO Python এর তুলনায় ৬৮,০০০ গুণ দ্রুত কর্মক্ষমতা অর্জন করতে পারে, যা AI উন্নয়নের জন্য একটি গুরুত্বপূর্ণ হাতিয়ার ३. পরীক্ষা কাঠামোর অভাব: একটি নতুন ভাষা হিসেবে, MOJO পরিপক্ক পরীক্ষা কাঠামোর অভাব করে, অসনাক্ত সফটওয়্যার ত্রুটি এবং নিরাপত্তা দুর্বলতা রয়েছে
১. ঐতিহ্যবাহী LLM ফাজ টেস্টার বিশাল পরিমাণ ডোমেইন-নির্দিষ্ট প্রশিক্ষণ ডেটার উপর নির্ভর করে, নতুন ভাষায় প্রয়োগ সীমিত করে २. মডেল হ্যালুসিনেশন সমস্যা: জিরো-শট পরিবেশে, LLM সিনট্যাক্সগতভাবে সঠিক কিন্তু শব্দার্থগতভাবে ত্রুটিপূর্ণ কোড তৈরি করতে পারে ३. লক্ষ্যভিত্তিক অভাব: বিদ্যমান সরঞ্জাম MOJO ভাষার বৈশিষ্ট্যের জন্য বিশেষভাবে অপ্টিমাইজ করা হয়নি
MOJO ভাষার জন্য প্রথম বিশেষায়িত LLM ফাজ টেস্টিং ফ্রেমওয়ার্ক উন্নয়ন, উদ্ভাবনী প্রম্পট ইঞ্জিনিয়ারিং এবং সূক্ষ্ম-সুর প্রযুক্তির মাধ্যমে, জিরো-শট লার্নিং পরিবেশে কার্যকর ত্রুটি সনাক্তকরণ অর্জন।
१. প্রথম জিরো-শট LLM ফাজ টেস্টিং ফ্রেমওয়ার্ক: MOJOFuzzer জিরো-শট লার্নিং পরিবেশের জন্য ডিজাইন করা প্রথম LLM-চালিত ফাজ টেস্টিং ফ্রেমওয়ার্ক, কার্যকরভাবে LLM হ্যালুসিনেশন সমস্যা হ্রাস করে
२. বহু-পর্যায়ের গুণমান নিয়ন্ত্রণ প্রক্রিয়া: সিস্টেমেটিক নিম্ন-মানের ইনপুট ফিল্টারিং প্রক্রিয়া একীভূত করে, পরীক্ষার ক্ষেত্রের কার্যকারিতা উল্লেখযোগ্যভাবে উন্নত করে
३. অভিযোজনশীল পরিবর্তন কৌশল: রানটাইম প্রতিক্রিয়ার উপর ভিত্তি করে LLM প্রম্পট গতিশীলভাবে সামঞ্জস্য করে, পুনরাবৃত্তিমূলক শেখার প্রক্রিয়া বাস্তবায়ন করে
४. বাস্তব ত্রুটি আবিষ্কার: MOJO তে ১३টি অজানা ত্রুটি সফলভাবে আবিষ্কার করেছে, যার মধ্যে ৯টি অফিসিয়ালি নিশ্চিত এবং সংশোধিত হয়েছে
५. কর্মক্ষমতা উল্লেখযোগ্য উন্নতি: পরীক্ষার কার্যকারিতা (৯৮%), API কভারেজ (৭७.३%) এবং ত্রুটি সনাক্তকরণ ক্ষমতায় বিদ্যমান পদ্ধতির চেয়ে উল্লেখযোগ্যভাবে উন্নত
ইনপুট: MOJO প্রোগ্রামিং ভাষা পরিবেশ এবং সীমিত সিনট্যাক্স নিয়ম, ঐতিহাসিক ত্রুটি প্রতিবেদন আউটপুট: MOJO ত্রুটি ট্রিগার করতে পারে এমন কার্যকর পরীক্ষার ক্ষেত্র সীমাবদ্ধতা: জিরো-শট লার্নিং পরিবেশ, বিশাল MOJO-নির্দিষ্ট প্রশিক্ষণ ডেটা নেই
MOJOFuzzer বহু-পর্যায়ের আর্কিটেকচার গ্রহণ করে, যাতে নিম্নলিখিত মূল উপাদান রয়েছে:
१. ডেটা প্রস্তুতি পর্যায়
२. আরম্ভকরণ পর্যায়
३. পরিবর্তন কৌশল
পরিবর্তন স্কোরিং সূত্র:
S_mutation = N_API + C_complexity
যেখানে:
প্রম্পট ইঞ্জিনিয়ারিং কৌশল: চেইন-অফ-থট (CoT) এবং ভূমিকা প্রম্পট প্রযুক্তি ব্যবহার করে, ৫টি মূল উপাদান অন্তর্ভুক্ত করে: १. সিনট্যাক্স বিশ্লেষণ নির্দেশনা २. ভূমিকা-ভিত্তিক কাঠামো ३. স্বয়ংক্রিয় ডেটা ফিল্টারিং ४. বিষয়বস্তু সংক্ষিপ্তকরণ ५. প্রম্পট বীজ উৎপাদন
LLAMA2 13B মডেল ব্যবহার করে দুই-পর্যায়ের সূক্ষ্ম-সুর: १. প্রথম পর্যায়: MOJO সিনট্যাক্স ডেটাসেটের উপর ভিত্তি করে ভাষা কাঠামো শিখা २. দ্বিতীয় পর্যায়: ঐতিহাসিক ত্রুটি রেকর্ডের উপর ভিত্তি করে ত্রুটি প্যাটার্ন শিখা
१. জিরো-শট অভিযোজনযোগ্যতা: প্রথমবারের মতো বিশাল প্রশিক্ষণ ডেটা অভাবে কার্যকর LLM ফাজ টেস্টিং বাস্তবায়ন २. দ্বি-স্তরের পরিবর্তন প্রক্রিয়া: কোড-স্তর এবং প্রম্পট-স্তরের পরিবর্তন একত্রিত করে, পরীক্ষার বৈচিত্র্য বৃদ্ধি করে ३. অভিযোজনশীল স্কোরিং সিস্টেম: বীজ গুণমান গতিশীলভাবে মূল্যায়ন করে, সম্পদ বরাদ্দ অপ্টিমাইজ করে ४. বহু-পর্যায়ের গুণমান নিয়ন্ত্রণ: সিস্টেমেটিকভাবে নিম্ন-মানের ইনপুট ফিল্টার করে, হ্যালুসিনেশন সমস্যা হ্রাস করে
१. অনন্য কার্যকর প্রোগ্রাম সংখ্যা: সিনট্যাক্স এবং শব্দার্থগতভাবে সঠিক পরীক্ষা প্রোগ্রামের অনুপাত २. পরিবর্তন দক্ষতা: পরীক্ষার বৈচিত্র্য, কার্যকারিতা এবং ত্রুটি সনাক্তকরণ ক্ষমতার উন্নতি ३. API কভারেজ: পরীক্ষার সময় আহ্বান করা অনন্য MOJO API ফাংশন সংখ্যা ४. সনাক্ত করা ত্রুটি সংখ্যা: আবিষ্কৃত বিভিন্ন সফটওয়্যার ত্রুটি সংখ্যা
| মডেল | API কভারেজ |
|---|---|
| MOJOFuzzer | ७७.३% |
| Fine-tuned MojoCoder | ६८.२% |
| Fuzz4All | ३७.८% |
| TitanFuzz | १७.२% |
| GPT-4o | २५.६% |
| মডেল | কার্যকর প্রোগ্রাম হার |
|---|---|
| MOJOFuzzer | ९८% |
| Mojo-Coder-it 7B | ६६.४% |
| GPT-4o | ~२५% |
| LLaMA3-8B | ~१०% |
| LLaMA2-7B | ~१०% |
বিলোপন গবেষণা তিনটি মূল উপাদানের অবদান মূল্যায়ন করেছে:
| উপাদান কনফিগারেশন | হ্যালুসিনেশন হার | কার্যকর কোড হার | শব্দার্থগত সঠিকতা |
|---|---|---|---|
| বেসলাইন | ४०% | ६०% | ५०% |
| শুধুমাত্র প্রম্পট ইঞ্জিনিয়ারিং (PE) | २८% | ७५% | ६५% |
| শুধুমাত্র সূক্ষ্ম-সুর (FT) | १५% | ८८% | ७८% |
| শুধুমাত্র অর্ধ-পরিবর্তন (HM) | ३५% | ६८% | ५५% |
| PE + FT | ८% | ९५% | ८८% |
| PE + FT + HM (সম্পূর্ণ) | ५% | ९८% | ९०% |
আবিষ্কৃত মূল ত্রুটির উদাহরণ:
१. র্যান্ডম নম্বর জেনারেটর ত্রুটি:
random_si64, random_float64, random_ui64 ফাংশন সর্বদা নির্দিষ্ট মান ফেরত দেয়२. Python লাইব্রেরি ইন্টিগ্রেশন ত্রুটি:
१. সূক্ষ্ম-সুরের গুরুত্বপূর্ণ ভূমিকা: সূক্ষ্ম-সুর হ্যালুসিনেশন সমস্যা হ্রাসের জন্য সবচেয়ে কার্যকর একক কারণ २. উপাদান সহযোগিতা প্রভাব: তিনটি উপাদান একসাথে ব্যবহার করলে সর্বোত্তম ফলাফল পাওয়া যায় ३. জিরো-শট লার্নিং সম্ভাব্যতা: বিশাল প্রশিক্ষণ ডেটা অভাবে কার্যকর পরীক্ষা পরিচালনার সম্ভাবনা প্রমাণ করে
१. LLM-ভিত্তিক ফাজ টেস্টার: TitanFuzz, ChatAFL, Fuzz4All ইত্যাদি বীজ উৎপাদন এবং পরিবর্তন উন্নত করতে LLM ব্যবহার করে २. সূক্ষ্ম-সুর ফাজ টেস্টার: FuzzGPT ইত্যাদি ডোমেইন-নির্দিষ্ট ডেটা দিয়ে সূক্ষ্ম-সুর করে কার্যকারিতা বৃদ্ধি করে ३. ঐতিহ্যবাহী ফাজ টেস্টিং: OSS-Fuzz ইত্যাদি ঐতিহ্যবাহী সরঞ্জাম নতুন ভাষায় সীমাবদ্ধতা
বিদ্যমান কাজের তুলনায়, MOJOFuzzer এর প্রধান সুবিধা: १. জিরো-শট ক্ষমতা: বিশাল প্রাক-প্রশিক্ষণ ডেটার প্রয়োজন নেই २. দ্বি-স্তরের পরিবর্তন: কোড এবং প্রম্পট স্তরে একযোগে পরিবর্তন ३. অভিযোজনশীল প্রক্রিয়া: রানটাইম প্রতিক্রিয়ার উপর ভিত্তি করে কৌশল গতিশীলভাবে সামঞ্জস্য করে
१. MOJOFuzzer নতুন প্রোগ্রামিং ভাষার ফাজ টেস্টিং চ্যালেঞ্জ সফলভাবে সমাধান করেছে २. জিরো-শট LLM ফাজ টেস্টিং বাস্তব প্রয়োগে সম্ভব ३. সূক্ষ্ম-সুর, প্রম্পট ইঞ্জিনিয়ারিং এবং অভিযোজনশীল পরিবর্তন একত্রিত পদ্ধতি একক প্রযুক্তির চেয়ে উল্লেখযোগ্যভাবে উন্নত
१. সময় কার্যকারিতা হুমকি: উন্নত LLM ক্রমান্বয়ে MOJO জ্ঞান একীভূত করার সাথে সাথে, জিরো-শট সুবিধা হ্রাস পেতে পারে २. ডেটা নির্ভরতা: এখনও ন্যূনতম পরিমাণ সিনট্যাক্স নিয়ম এবং ত্রুটি প্রতিবেদন প্রয়োজন ३. গণনা সম্পদ চাহিদা: সূক্ষ্ম-সুর এবং অনুমান প্রক্রিয়া উচ্চ গণনা খরচ প্রয়োজন
१. সম্পূর্ণ স্বয়ংক্রিয়করণ: সম্পূর্ণ স্বয়ংক্রিয় ফাজ টেস্টিং দিকে উন্নয়ন २. আরও নতুন ভাষা: অন্যান্য নতুন প্রোগ্রামিং ভাষায় পদ্ধতি সম্প্রসারণ ३. প্রাক-প্রশিক্ষণ ডেটাসেট অপ্টিমাইজেশন: সীমিত প্রশিক্ষণ ডেটা আরও ভালভাবে ব্যবহার করার উপায় গবেষণা করা
१. শক্তিশালী উদ্ভাবনী: নতুন ভাষার জন্য প্রথম জিরো-শট LLM ফাজ টেস্টিং ফ্রেমওয়ার্ক २. উচ্চ ব্যবহারিক মূল্য: १३টি বাস্তব ত্রুটি সফলভাবে আবিষ্কার করেছে, পদ্ধতির কার্যকারিতা প্রমাণ করে ३. সম্পূর্ণ প্রযুক্তি সমাধান: ডেটা সংগ্রহ থেকে ত্রুটি সনাক্তকরণ পর্যন্ত সম্পূর্ণ পাইপলাইন ४. ব্যাপক পরীক্ষা: ব্যাপক তুলনামূলক পরীক্ষা এবং বিলোপন গবেষণা অন্তর্ভুক্ত ५. স্পষ্ট লেখা: প্রযুক্তিগত বিবরণ সঠিকভাবে বর্ণিত, পরীক্ষা ডিজাইন যুক্তিসঙ্গত
१. সীমিত মূল্যায়ন পরিসর: প্রধানত MOJO ভাষার উপর ফোকাস করে, সাধারণীকরণ ক্ষমতা যাচাইয়ের অপেক্ষায় २. বেসলাইন তুলনা: কিছু বেসলাইন পদ্ধতি সর্বোত্তম পছন্দ নাও হতে পারে ३. দীর্ঘমেয়াদী কার্যকারিতা: MOJO ইকোসিস্টেম পরিপক্ক হওয়ার সাথে সাথে, পদ্ধতির সুবিধা হ্রাস পেতে পারে ४. গণনা খরচ বিশ্লেষণ: বিস্তারিত গণনা সম্পদ খরচ বিশ্লেষণের অভাব
१. একাডেমিক অবদান: নতুন ভাষা পরীক্ষার জন্য গুরুত্বপূর্ণ পদ্ধতিগত ভিত্তি প্রদান করেছে २. ব্যবহারিক মূল্য: সরাসরি MOJO ভাষা উন্নতিতে সহায়তা করেছে, তাৎক্ষণিক প্রভাব রয়েছে ३. পুনরুৎপাদনযোগ্যতা: লেখকরা কোড এবং ডেটা ওপেন-সোর্স করার প্রতিশ্রুতি দিয়েছেন, পরবর্তী গবেষণা সহজতর করে ४. ক্ষেত্র অগ্রগতি: নতুন উদীয়মান প্রযুক্তির জন্য আরও AI পরীক্ষা পদ্ধতি তৈরি করতে পারে
१. নতুন প্রোগ্রামিং ভাষা: পরিপক্ক পরীক্ষা কাঠামোর অভাব করে এমন প্রোগ্রামিং ভাষা २. জিরো-শট পরীক্ষা পরিবেশ: প্রশিক্ষণ ডেটা বিরল পরীক্ষা পরিস্থিতি ३. AI সিস্টেম পরীক্ষা: দক্ষ পরীক্ষা সরঞ্জাম প্রয়োজন এমন AI উন্নয়ন পরিবেশ ४. নিরাপত্তা-গুরুত্বপূর্ণ সিস্টেম: সম্ভাব্য ত্রুটি আবিষ্কার প্রয়োজন এমন গুরুত্বপূর্ণ প্রয়োগ
পেপারটি ৫८টি সম্পর্কিত সংদর্ভ উদ্ধৃত করেছে, যা LLM, ফাজ টেস্টিং, সফটওয়্যার ইঞ্জিনিয়ারিং ইত্যাদি একাধিক ক্ষেত্রের গুরুত্বপূর্ণ কাজ অন্তর্ভুক্ত করে, গবেষণার জন্য দৃঢ় তাত্ত্বিক ভিত্তি প্রদান করে।
সামগ্রিক মূল্যায়ন: এটি একটি উচ্চ-মানের সফটওয়্যার ইঞ্জিনিয়ারিং গবেষণা পেপার, যা বাস্তব সমস্যার জন্য উদ্ভাবনী সমাধান প্রস্তাব করে, কঠোর পরীক্ষা ডিজাইন এবং বিশ্বাসযোগ্য ফলাফল সহ। এই কাজ শুধুমাত্র প্রযুক্তিগতভাবে অগ্রগামী নয়, বরং নতুন প্রযুক্তির পরীক্ষার জন্য একটি কার্যকর পদ্ধতিগত ভিত্তি প্রদান করে, উল্লেখযোগ্য একাডেমিক এবং ব্যবহারিক মূল্য রয়েছে।