قد يؤدي وجود خلل في نص بايثون إلى نتائج غير صحيحة في أكثر من 100 منشور في مجال الكيمياء

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

على سبيل المثال، عند التشغيل على macOS 10.14 وUbuntu 16.04 لمجموعة البيانات التي تم اختبارها، فإن البرنامج النصي صادر القيمة غير صحيحة 172.4 بدلاً من 173.2. يتضمن البرنامج النصي حوالي 1000 سطر من التعليمات البرمجية، وقد تم استخدامه من قبل الكيميائيين منذ عام 2014. أظهر فحص الكود أن الإخراج غير صحيح بسبب الاختلافات عند فرز الملفات في أنظمة التشغيل المختلفة. يعتقد مؤلفو البرنامج النصي أن الوظيفة "غلوب ()"يُرجع دائمًا الملفات التي تم فرزها حسب الاسم، بينما تنص وثائق الكرة الأرضية على أن ترتيب الإخراج غير مضمون. كان الإصلاح هو إضافة list_of_files.sort() بعد استدعاء glob().

قد يؤدي وجود خلل في نص بايثون إلى نتائج غير صحيحة في أكثر من 100 منشور في مجال الكيمياء

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

المصدر: opennet.ru

إضافة تعليق