በ StackOverflow ላይ በጣም ታዋቂው የጃቫ ኮድ ምሳሌ በስህተት አብቅቷል።

በጣም ታዋቂው የጃቫ ኮድ ምሳሌበ StackOverflow ላይ ተለጠፈ፣ ተጠናቀቀ የተሳሳተ ውጤት በተወሰኑ ሁኔታዎች ላይ ወደ መደምደሚያው የሚያደርስ ስህተት. በጥያቄ ውስጥ ያለው ኮድ እ.ኤ.አ. በ2010 ተለጠፈ እና ከሺህ በላይ ምክሮችን አከማችቷል እና ቆይቷል ተገልብጧል በብዙ ፕሮጀክቶች ውስጥ እና በ GitHub ላይ ባሉ ማከማቻዎች ውስጥ 7 ሺህ ጊዜ ያህል ይገኛል። ስህተቱ በተጠቃሚዎች ይህንን ኮድ ወደ ፕሮጀክቶቻቸው በመገልበጥ አለመገኘቱ ትኩረት የሚስብ ነው ፣ ግን የምክር ዋና ጸሐፊ።

በጥያቄ ውስጥ ያለው ኮድ የባይት መጠኑን ወደ ሊነበብ የሚችል ቅጽ መለወጥን አከናውኗል ፣ ለምሳሌ ፣ 110592 ወደ “110.6 ኪባ” ወይም “108.0 ኪቢ” ተለወጠ። ኮዱ እንደ ሎጋሪዝም-የተመቻቸ የቀድሞ ምክር ስሪት ሆኖ ቀርቧል፣ በዚህ ውስጥ እሴቱ የሚወሰነው በ 1018 ፣ 1015 ፣ 1012 ፣ 1019 በ loop ውስጥ ባለው የዋናው እሴት ተከታታይ ክፍፍል ላይ በመመስረት ነው።
106፣ 103 እና 100፣ አካፋዩ ከዋናው ዋጋ በባይት የሚበልጥ እስከሆነ ድረስ። በተመቻቸ ሥሪት (ረጅም ዋጋ ያለው ትርፍ ፍሰት) ውስጥ በተዘበራረቁ ስሌቶች ምክንያት በጣም ብዙ ቁጥሮችን (ኤክሳባይት) የማስኬድ ውጤት ከእውነታው ጋር አልተዛመደም።

የምክሩ ፀሐፊው ደግሞ ከምንጩ ጋር ሳይገለጽ እና ፍቃዱን ሳይገልጽ ምሳሌዎችን የመቅዳት ችግር ላይ ትኩረት ለመሳብ ሞክሯል. ቀደም ሲል እንደተናገረው ምርምር 46% ገንቢዎች ኮድን ከStackOverflow የገለበጡት ያለ ምንም መለያ፣ 75% ኮዱ በCC BY-SA ፍቃድ መሰራጨቱን አላወቁም፣ እና 67% የሚሆኑት ይህ የባለቤትነት አስፈላጊነትን እንደሚያመለክት አያውቁም።

የተሰጠው በሌላ ጥናት የኮድ ምሳሌዎችን መቅዳት በኮዱ ውስጥ ያሉ ስህተቶችን ብቻ ሳይሆን ተጋላጭነትንም ያመጣል። ለምሳሌ፣ በ StackOverflow ላይ የ72483 C++ ኮድ ምሳሌዎችን ከመረመሩ በኋላ፣ ተመራማሪዎቹ በጣም ተወዳጅ በሆኑ ምክሮች ዝርዝር ውስጥ በተካተቱት 69 ምሳሌዎች (ይህም 0.09%) ከባድ ተጋላጭነቶችን ለይተዋል። በ GitHub ላይ የዚህ ኮድ መኖርን ከመረመረ በኋላ፣ ከStackOverflow የተቀዳው ተጋላጭ ኮድ በ2859 ፕሮጀክቶች ውስጥ እንደሚገኝ ተገለጸ።

ምንጭ: opennet.ru

አስተያየት ያክሉ