← أحدث الأبحاث
⚛️ quantum physics

KQFuzz: Knowledge-Guided Fuzzing for Quantum Libraries via Large Language Models

يُعد KQFuzz أداة فحص (fuzzer) مبتكرة موجهة بالمعرفة، تستفيد من النماذج اللغوية الكبيرة، والتحفيز المدرك للكود المصدري، واستراتيجيات الطفرات المدفوعة باللياقة لتحسين تغطية الاختبار بشكل كبير وكشف الأخطاء في مكتبات الحوسبة الكمومية مثل Qiskit وPennyLane وCirq.

المؤلفون الأصليون: Fuyuan Xia, Qixin Zhang, Chenhao Ying, Haojin Zhu, Shuai Wang, Yuan Luo, Pingchuan Ma, Yuxuan Du

نُشر 2026-07-29
📖 8 دقيقة قراءة🧠 قراءة متعمّقة

المؤلفون الأصليون: Fuyuan Xia, Qixin Zhang, Chenhao Ying, Haojin Zhu, Shuai Wang, Yuan Luo, Pingchuan Ma, Yuxuan Du

البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

تخيل عالماً لا تكتفي فيه الحواسيب بمعالجة الأرقام فحسب، بل ترقص مع نسيج الواقع نفسه، مستخدمةً القواعد الغريبة للفيزياء الكمومية لحل مشكلات قد تستغرق الحواسيب الفائقة اليوم دهراً لحلها. هذا هو عالم الحوسبة الكمومية، وهو مجال يعد بإحداث ثورة في كل شيء من الطب إلى التمويل. ولكن، مثل أي تقنية جديدة، تعتمد هذه الحوسبة على أساس من مكتبات البرمجيات — وهي كتيبات تعليمات ضخمة ومعقدة تخبر الأجهزة الكمومية بما يجب فعله. فكر في هذه المكتبات كأنها "أنظمة التشغيل" للآلات الكمومية. إذا احتوى الكود في هذه المكتبات على خلل، فقد تكون النتائج خاطئة، مما يدفع العلماء إلى استخلاص استنتاجات زائفة أو إضاعة وقت كمومي ثمين ونادر. تماماً كما لا تثق بسيارة ذات مقود مهتز، لا يمكننا الوثوق بحواسيب كمومية تعمل ببرمجيات مليئة بالأخطاء.

وللحفاظ على عمل هذه المحركات الرقمية بسلاسة، يستخدم المختبرون تقنية تسمى "التدقيق العشوائي" (Fuzzing). تخيل روبوتاً يرمي عشوائياً آلاف المفاتيح المختلفة في قفل ما، محاولاً العث تفتاحاً يكسره أو يعطل آلية العمل. في اختبار البرمجيات، يعني هذا تغذية البرنامج بملايين المدخلات العشوائية والغريبة قليلاً لمعرفة ما إذا كان سينهار أو يتصرف بغرابة. مؤخراً، بدأ العلماء في استخدام الذكاء الاصطناعي (تحديداً النماذج اللغوية الكبيرة، أو LLMs) ليعملوا كأدوار هذه الروبوتات، آملين أن يتمكنوا من كتابة حالات اختبار أفضل وأكثر إبداعاً من المولد العشوائي البسيط. ومع ذلك، عندما يتعلق الأمر بعالم الكود الكمومي المعقد، تتعثر هذه الروبوتات الذكية، وغالباً ما تكتب تعليمات لا معنى لها بالنسبة للأجهزة الكمومية.

هنا يأتي دور فريق جديد من الباحثين بحل ذكي يسمى KQFuzz. لقد أدركوا أنه بينما يبدع الذكاء الاصطناعي في كتابة الكود، فإنه غالباً ما يتوه عندما تتغير القواعد بسرعة، وهو ما يحدث باستمرار في العالم الكمومي سريع الحركة. ولإصلاح ذلك، قاموا ببناء "دليل معرفي" للذكاء الاصطناعي. فبدلاً من ترك الذكاء الاصطناعي يخمن، يقوم KQFuzz بتزويده بخريطة مفصلة لقواعد المكتبة الحالية، وعلاقاتها، وتاريخها. الأمر يشبه إعطاء الروبوت نظام تحديد مواقع (GPS) وكتيب قواعد قبل أن يبدأ في رمي المفاتيح. ومن خلال دمج هذه الخريطة مع نظام ذكي يتحقق من حالات الاختبار الأكثر إثارة للاهتمام ويقوم بـ "تحويرها" لإنشاء متغيرات أكثر غرابة، نجح KQFuzz في العثور على 13 خطأً جديداً في ثلاث مكتبات كمومية رئيسية (Qiskit و PennyLane و Cirq). وقد أكد المطورون جميعها، وتم إصلاح 12 منها بالفعل.

المشكلة: عندما يتوه الذكاء الاصطناعي في المتاهة الكمومية

مكتبات الكم تشبه الكائنات الحية التي تتنفس وتغير شكلها؛ فهي تتغير بشكل يومي تقريباً. تصل أجهزة جديدة، ويجب إعادة كتابة البرمجيات لتناسبها. وهذا يخلق كابوساً لأدوات الاختبار القياسية.

أولاً، هناك أدوات "التدقيق على مستوى الدائرة" القديمة. هذه الأدوات تشبه الروبوتات التي لا تعرف سوى كيفية بناء هياكل "ليغو" بسيطة. فهي تتبع قواعد صارمة ومكتوبة مسبقاً لبناء دوائر صالحة. ورغم أنها جيدة في العثور على الشقوق الهيكلية، إلا أنها جامدة للغاية؛ فهي لا تستطيع التعامل مع الميزات عالية المستوى للبرمجيات الكمومية الحديثة لأن كتيبات قواعدها قديمة. إنها تشبه طباخاً لا يعرف سوى كيفية صنع الخبز المحمص؛ لا يمكنه طهي وجبة فاخرة حتى لو كانت المكونات أمامه.

ثم هناك أدوات التدقيق المدعومة بالذكاء الاصطناعي. تستخدم هذه الأدوات النماذج اللغوية الكبيرة (LLMs) — وهي نفس التقنية التي تكتب المقالات أو الكود — لتوليد حالات الاختبار. الفكرة هي أنه بما أن هذه الأنظمة قرأت ملايين الأمثلة البرمجية، فينبغي أن تعرف كيف تكتب برامج كمومية مثالية. لكن العائق هو أن العالم الكمومي يتحرك بسرعة كبيرة، وبيانات تدريب الذكاء الاصطناعي غالباً ما تكون قديمة. فعندما يُطلب منها كتابة كود لإصدار جديد من مكتبة ما، يبدأ الذكاء الاصطناعي في "الهلوسة"؛ حيث يخترع أوامر غير موجودة أو يستخدم أوامر قديمة تم حذفها. وفي دراسة أجراها المؤلفون، عندما طُلب من الذكاء الاصطناعي كتابة كود للمكتبات الكمومية، نجحت المحاولات بنسبة 35% إلى 46% فقط. قارن هذا بالبرمجيات التقليدية (مثل مكتبات بايثون القياسية)، حيث يصيب الذكاء الاصطراعي بنسبة تترا-وح 64% إلى 86%. الذكاء الاصطناعي في الأساس يخمن في الظلام، ومعظم تخميناته خاطئة.

الحل: KQFuzz، المرشد المعرفي

قرر مؤلفو هذه الورقة، فويوان شيا وفريقه، التوقف عن التخمين. لقد بنوا KQFuss، وهو نظام يعمل كمرشد سياحي معرفي للذكاء الاصطناعي. فبدلاً من ترك الذكاء الاصطناعي يتجول بلا هدى، يمنحه KQFuzz "متناً" من المعرفة المستخرجة مباشرة من الكود المصدري للمكتبة التي يتم اختبارها.

فكر في الأمر كالتالي: إذا كنت تريد كتابة قصة عن مدينة معينة، فأنت لا تعتمد فقط على ذاكرتك (التي قد تكون خاطئة)؛ بل تنظر إلى خريطة، وتتحقق من أسماء الشوارع، وترى كيف تتصل المباني ببعضها. يفعل KQFuzz ذلك تماماً للكود الكمومي. فهو يبني قاعدة بيانات تتضمن:

  1. البيانات الوصفية الثابتة: الأسماء والمواقع الدقيقة لكل أداة (API) في المكتبة.
  2. العلاقات: كيف تتواصل الأدوات المختلفة مع بعضها البعض (على سبيل المثال: "الأداة أ عادة ما تتبع الأداة ب").
  3. النماذج الدلالية: ملخص لما تفعله كل أداة فعلياً، مكتوب بواسطة نموذج ذكاء اصطناعي قوي يقرأ الكود.
  4. مقاييس التطور: تاريخ لكيفية تغير الأدوات بمرور الوقت، مع تسليط الضوء على الأدوات غير المستقرة أو التي يتم تحديثها بشكل متكرر.

بهذه الخريطة في يده، يوجه KQFuzz ذكاء "التدقيق" لتوليد حالات اختبار صالحة بالفعل. فهو لا يطلب من الذكاء الاصطناعي فقط "كتابة الكود"؛ بل يقول له: "إليك الخريطة الحالية. استخدم هذه الأدوات المحددة التي يُعرف أنها صعبة، وتأكد من ربطها بهذا الشكل". هذا النهج عزز صلاحية الكود المولد بشكل كبير، محولاً عملية معرضة للفشل إلى عملية موثوقة.

الاستراتيجية: التحوير على مستويين وفحوصات اللياقة

بمجرد أن يمتلك KQFuss نقطة بداية صالحة (برنامج "بذرة")، فإنه لا يتوقف عند هذا الحد. بل يحتاج إلى العثور على الأخطاء الخفية، والتي غالباً ما تكون مدفونة في التفاعلات المعقدة. ولتحقيق ذلك، يستخدم استراتيجية من خطوتين:

1. دالة اللياقة (القاضي):
ليست كل حالات الاختبار متساوية. فبعضها ممل وبسيط، والبعض الآخر معقد وفوضوي. يستخدم KQFuss "دالة لياقة" لتقييم كل حالة اختبار، ويبحث عن:

  • تنوع البوابات (Gate Diversity): هل تُستخدم أنواع مختلفة من العمليات الكمومية؟
  • الكيوبتات المتشابكة (Entangled Qubits): هل تتفاعل البتات الكمومية بطرق معقدة؟
  • تنوع الـ API: هل يتم اختبار أجزاء مختلفة من المكتبة معاً؟
  • عمق الاستدعاء (Call Depth): كم عدد الخطوات في سلسلة الأوامر؟

إذا سجلت حالة الاختبار درجات عالية في هذه المقاييس، فتعتبر "لائقة" ويتم الاحتفاظ بها للجولة التالية. وهذا يضمن تركيز النظام على السيناريوهات الأكثر تعقداً وواعدة حيث من المرجح أن تختبئ الأخطاء.

2. التحوير على مستويين (المتحول):
بعد اختيار أفضل حالات الاختبار، يحاول KQFuzz كسرها عبر إجراء تغييرات صغيرة وذكية. يفعل ذلك بطريقتين:

  • التحوير على مستوى المعلمات (Parameter-Level Mutation): يقوم بتعديل الأرقام. غالباً ما تستخدم البوابات الكمومية زوايا (مثل 0، 1، أو π\pi). يقوم KQFuzz باستبدال هذه الأرقام بـ "حالات حافة" (Corner Cases) — وهي قيم غريبة ومتطرفة قد تربك النظام.
  • التحوير الهيكلي على مستوى البوابة (Gate-Level Structural Mutation): يقوم بتغيير هيكل الدائرة. فهو يستبدل نوعاً من البوابات الكمومية بنوع آخر يتصرف بشكل مشابه ولكنه يمتلك منطقاً داخلياً مختلفاً. هذا يشبه استبدال محرك سيارة بموديل آخر لترى ما إذا كان الهيكل سيصمد.

النتائج: العثوبة على الأخطاء

اختبر الفريق نظام KQFuzz على ثلاث من أشهر المكتبات الكمومية: Qiskit و PennyLane و Cirq. وقارنوه بأفضل الأدوات الموجودة، بما في ذلك أدوات التدقيق الأخرى وأدوات الاختبار القائمة على الذكاء الاصطناعي.

كانت النتائج مبهرة. لم يجد KQFuzz المزيد من الأخطاء فحسب، بل استكشف أجزاء من الكود فاتتها الأدوات الأخرى تماماً.

  • في Qiskit، غطى KQFuzz نسبة 63.31% من الكود، بينما غطت الأداة التالية الأفضل نسبة 53.00% فقط.
  • في PennyLane، وصل إلى تغطية بنسبة 58.71% مقارنة بـ 45.44%.
  • في Cirq، حقق تغطية هائلة بلغت 73.79%، تاركاً المنافسين بعيدين جداً عند 55.35%.

في المجمل، اكتشف KQFuzz 13 خطأً فريداً. وقد أكد مطورو المكتبات كل خطأ منها، وتم إصلاح 12 منها بالفعل. لم تكن هذه مجرد أخطاء طباعية بسيطة، بل كانت مشكلات خطيرة مثل "انتهاكات الحدود" (حيث ينهار البرنامج مع المدخلات المتطرفة)، و"تباعد الحالة" (حيث تخرج الذاكرة الداخلية عن المزامنة)، و"الانتهاكات الدلالية" (حيث يفعل الكود شيئاً مختلفاً عما هو مذكور في التوثيق).

تضمن أحد الأخطاء المحددة التي وُجدت في Qiskit وجود حلقة تكرارية تسببت في فقدان البرنامج لتتبع معلماته الخاصة، مما أدى إلى خطأ صامت كان من الممكن أن يمر دون ملاحظة لسنوات. وقد اعترف المطورون بأن هذه كانت مشكلة طويلة الأمد فشلت طرق الاختبار السابقة لديهم في رصدها.

لماذا يهم هذا الأمر؟

تشير الورقة البحثية إلى أن مستقبل الحوسبة الكمومية يعتمد على برمجيات موثوقة. ومع تطور هذه المكتبات بسرعة، لا يكفي الاختبار اليدوي، كما أن الاختبار العشوائي البسيط يكون أعمى للغاية. يظهر KQFuzz أنه من خلال الجمع بين القدرة الإبداعية للذكاء الاصطناعي وبين دليل صارم قائم على المعرفة، يمكننا بناء نظام اختبار يتسم بالمرونة والدقة في آن واحد. إنه يثبت أننا لسنا مضطرين للاختيار بين الذكاء الاصطناعي "الذكي" والاختبار "الآمن"؛ بل يمكننا الحصول على كليهما.

يؤكد المؤلفون أن طريقتهم قوية عبر نماذج الذكاء الاصطناعي المختلفة. فحتى عندما استخدموا نماذج أصغر وأقل قوة، ظل KQFuzz يتفوق على المنافسين، مما يشير إلى أن "الدليل المعرفي" هو السر الحقيقي، وليس مجرد حجم "عقل" الذكاء الاصطناعي.

في النهاية، يعد KQFuzz تذكيراً بأنه في العالم المتسارع والمتقلب للحوسبة الكمومية، فإن أفضل طريقة للعثور على الأخطاء هي معرفة القواعد بشكل أفضل مما تعرف القواعد نفسها. ومن خلال منح الذكاء الاصطناत्मक خريطة، ضمن الباحثون أن الرحلة نحو مستقبل كمومي خالٍ من الأخطاء ستكون أقل زعزعة.

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →