محبوب ترین نمونه کد جاوا در StackOverflow دارای خطا است

محبوب ترین نمونه کد جاوامنتشر شده در StackOverflow، تمام شده با خطای منجر به خروجی یک نتیجه نادرست تحت شرایط خاص. کد مورد نظر در سال 2010 ارسال شده است و بیش از هزار توصیه جمع آوری کرده است و همچنین کپی شده است در بسیاری از پروژه ها و حدود 7 هزار بار در مخازن GitHub ظاهر می شود. قابل توجه است که خطا توسط کاربرانی که این کد را در پروژه های خود کپی کرده اند، بلکه توسط نویسنده اصلی مشاوره پیدا شده است.

کد مورد بحث، اندازه بایت را به یک فرم قابل خواندن تبدیل کرد، به عنوان مثال 110592 را به "110.6 کیلوبایت" یا "108.0 کیلوبایت" تبدیل کرد. کد به‌عنوان نسخه بهینه‌شده لگاریتمی توصیه‌های قبلی پیشنهاد شد، که در آن مقدار بر اساس تقسیم متوالی مقدار اصلی در یک حلقه بر 1018، 1015، 1012، 1019 تعیین می‌شد.
106، 103 و 100، تا زمانی که مقسوم علیه بزرگتر از مقدار بایت اصلی باشد. به دلیل محاسبات نامرتب در نسخه بهینه شده (سرریز مقدار طولانی)، نتیجه هنگام پردازش اعداد بسیار بزرگ (اگزابایت) با واقعیت مطابقت نداشت.

نویسنده توصیه همچنین سعی کرده است تا مشکل کپی برداری از نمونه ها را بدون ذکر منبع و بدون ذکر مجوز جلب کند. طبق داده های قبلی تحقیق انجام داد 46٪ از توسعه دهندگان کد را از StackOverflow بدون ذکر منبع کپی کردند، 75٪ از این که این کد تحت مجوز CC BY-SA است و 67٪ از این که این مجوز نیاز به ذکر منبع دارد، اطلاع نداشتند.

بر طبق بر اساس مطالعه دیگری، کپی کردن نمونه کد نه تنها شامل خطر خطا در کد، بلکه آسیب پذیری نیز می شود. به عنوان مثال، پس از تجزیه و تحلیل 72483 نمونه کد C++ در StackOverflow، محققان آسیب‌پذیری‌های جدی را در 69 نمونه (که 0.09٪ است) در لیست محبوب‌ترین توصیه‌ها شناسایی کردند. پس از تجزیه و تحلیل وجود این کد در GitHub، مشخص شد که کد آسیب پذیر کپی شده از StackOverflow در 2859 پروژه وجود دارد.

منبع: opennet.ru

اضافه کردن نظر