StackOverflow හි ජාවා කේතයේ වඩාත්ම ජනප්‍රිය උදාහරණයේ දෝෂයක් ඇත

වඩාත් ජනප්රියයි ජාවා කේත උදාහරණය, StackOverflow හි ප්‍රකාශිත, බවට පත් විය යම් යම් කොන්දේසි යටතේ වැරදි ප්රතිඵලය ප්රතිදානය කිරීමට තුඩු දෙන දෝෂයක් සමඟ. අදාළ කේතය 2010 දී පළ කරන ලද අතර නිර්දේශ දහසකට වඩා රැස් කර ඇති අතර එය ද ඇත පිටපත් කර ඇත බොහෝ ව්‍යාපෘති වල සහ GitHub හි ගබඩාවල 7 වාරයක් පමණ දිස්වේ. දෝෂය සොයාගනු ලැබුවේ පරිශීලකයින් මෙම කේතය ඔවුන්ගේ ව්‍යාපෘතිවලට පිටපත් කිරීමෙන් නොව උපදෙස් වල මුල් කතුවරයා විසින් බව සැලකිය යුතු කරුණකි.

අදාළ කේතය බයිට් ප්‍රමාණය කියවිය හැකි ආකාරයක් බවට පරිවර්තනය කරයි, උදාහරණයක් ලෙස 110592 "110.6 kB" හෝ ​​"108.0 KiB" බවට පරිවර්තනය කරයි. 1018, 1015, 1012, 1019 මගින් ලූපයක මුල් අගයේ අනුක්‍රමික බෙදීම මත පදනම්ව අගය තීරණය කරන ලද, කලින් යෝජිත උපදෙස්වල ලඝුගණක ප්‍රශස්ත අනුවාදයක් ලෙස කේතය යෝජනා කරන ලදී.
106, 103 සහ 100, භාජකය මුල් බයිට් අගයට වඩා වැඩි වන තාක් කල්. ප්‍රශස්ත අනුවාදය (දිගු අගය පිටාර ගැලීම) තුළ ඇති අලස ගණනය කිරීම් හේතුවෙන්, ඉතා විශාල සංඛ්‍යා (exabytes) සැකසීමේදී ප්‍රතිඵලය යථාර්ථයට අනුරූප නොවේ.

උපදේශයේ කතුවරයා මූලාශ්‍රය උපුටා දැක්වීමකින් තොරව සහ බලපත්‍රය සඳහන් නොකර උදාහරණ පිටපත් කිරීමේ ගැටලුව කෙරෙහි අවධානය යොමු කිරීමට උත්සාහ කළේය. කලින් දත්ත වලට අනුව පර්යේෂණ පවත්වන ලදී සංවර්ධකයින්ගෙන් 46%ක් ආරෝපණයකින් තොරව StackOverflow වෙතින් කේතය පිටපත් කළ අතර, 75%ක් කේතය CC BY-SA යටතේ බලපත්‍ර ලබා දී ඇති බව නොදැන සිටි අතර, 67%ක් මේ සඳහා ආරෝපණය අවශ්‍ය බව දැන සිටියේ නැත.

විසින් ලබා දී ඇත තවත් අධ්‍යයනයකට අනුව, කේත උදාහරණ පිටපත් කිරීමේදී කේතයේ දෝෂ ඇතිවීමේ අවදානම පමණක් නොව අවදානම් ද ඇතුළත් වේ. උදාහරණයක් ලෙස, StackOverflow හි C++ කේත උදාහරණ 72483ක් විශ්ලේෂණය කිරීමෙන් පසුව, පර්යේෂකයන් විසින් වඩාත් ජනප්‍රිය නිර්දේශ ලැයිස්තුවට ඇතුළත් කර ඇති උදාහරණ 69ක (එය 0.09%) බරපතල දුර්වලතා හඳුනාගෙන ඇත. GitHub හි මෙම කේතය තිබීම විශ්ලේෂණය කිරීමෙන් පසුව, StackOverflow වෙතින් පිටපත් කරන ලද අවදානම් කේතය ව්‍යාපෘති 2859 ක පවතින බව අනාවරණය විය.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න