Stack Overflow дээр хамгийн их ашиглагддаг Java кодын хэсэг нь алдаа агуулдаг

Java

-Д хэвлэгдсэн судалгаа Аравдугаар сар 2018 Эмпирик програм хангамжийн сэтгүүлд академич Себастиан Балтес, Стефан Дийл нар -д заасан кодын хэсэг байгааг илрүүлэв гэсэн асуултанд хариулах Андреас Лундбладын 2010 оны XNUMX-р сард Stack Overflow, Палантир дахь Java хөгжүүлэгч, Энэ бол олон нийтийн платформ дээр хамгийн өргөн хэрэглэгддэг Java кодын хэсэг юм.

Гэсэн хэдий ч, өнгөрсөн долоо хоногт нэг бичлэг дээр, Лундблэд код нь алдаатай байсан бөгөөд байтын тоог буруу хөрвүүлсэн гэж тайлбарлав хүн уншиж болохуйц форматаар. Энэ код нь мянга гаруй зөвлөмжийг хуримтлуулсан бөгөөд олон төсөлд хамрагдсан бөгөөд GitHub дахь агуулахад ойролцоогоор 7 мянган удаа хадгалагдаж байна.

Энэ нь анхаарал татаж байна алдаа нь хэрэглэгчид олдсонгүй энэ кодыг төсөлдөө ашигласан, гэхдээ үзүүрийн анхны зохиогч.

Харгалзан үзсэн код нь байтын хэмжээг уншигдах хэлбэрээр хөрвүүлсэн, жишээлбэл 110592 руу хөрвүүлсэн "110.6 kB" эсвэл "108.0 KiB". Кодыг логарифм ашиглан оновчтой болгосон, өмнө нь санал болгосон зөвлөгөөний хувилбар болгон санал болгосон бөгөөд үүнд утгыг эхний давталтад хувааж тодорхойлсон болно.10 18, 10 15, 10 12, 10 19, 10 6, 10 3 ба 10 0 ″ , хуваагч нь байт дахь анхны утгаас их байсан ч гэсэн.

Оновчтой хувилбар дахь алдаатай тооцооллын улмаас (урт утга халих), маш олон тооны боловсруулалтын үр дүн (exabytes) нь бодит байдалд нийцэхгүй байна.

Лундблад энэ код нь хөрвүүлэлтийн өчүүхэн алдааг агуулсан тул зөвхөн файлын хэмжээг бага зэрэг буруу тооцоолоход хүргэсэн гэж тайлбарлав. Үүнийг хэлэхэд, үүнээс хамаагүй дор байх байсан гэж тооцоолж байна.

Код нь аюулгүй байдлын эмзэг байдлыг агуулсан байж болох юм, Жишээлбэл. Хэрэв ийм тохиолдол байсан бол хэрэглэгчид халдлагад өртөж, бүх эмзэг програмуудыг засахын тулд хэдэн сар, жил шаардагдах байсан.

Зөвлөмжийг зохиогч мөн асуудалд анхаарлаа хандуулахыг хичээсэн жишээг эх сурвалжийг дурдалгүйгээр, тусгай зөвшөөрөл заахгүйгээр ашиглах.

“Олон тооны хүний ​​кодлогчдыг хамруулсан хамтарсан хуралдаануудад бид CWE (Нийтлэг сул талыг тоолох) зааврын дагуу аюулгүй байдлын эмзэг байдлын кодыг тус бүрээр гараар үнэлсэн.

Наад зах нь GitHub-ийн зохион байгуулсан төсөлд 72,483 сканнердсан кодын хэлтэрхийнүүдээс 69 төрөлд ангилагдсан нийт 29 эмзэг кодын хэсгүүдийг оллоо. Судалгаанд хамрагдсан кодын олон хэсэг хараахан засагдаагүй байна "гэж судлаачид илтгэлдээ дурджээ.

69 эмзэг кодын хэсэг Stack Overflow дээрээс олдсон нийт 2859 GitHub төсөлд дахин ашигласан. Stack Overflow дээрх хуваалцсан кодын хэсгүүдийн чанарыг сайжруулахын тулд тэд браузерын өргөтгөлийг боловсруулж Stack Overflow хэрэглэгчид платформ дээр татаж авахдаа хэсгүүдийн сул талыг хайж олох боломжийг олгодог.

Гэсэн хэдий ч судлаачдын анхааруулгыг үл харгалзан хөгжүүлэгчид Stack Overflow кодыг дүн шинжилгээ хийхгүйгээр төслүүддээ хуулсаар байна.

Ашкан Сами, Мэдээллийн технологийн дэд профессор, инженер, мэдээллийн технологи Ираны Ширазын Их Сургуульд үүнийг хэлсэн

“Энэхүү судалгаа нь алдаатай код Stack Overflow-аас GitHub руу хэрхэн шилжиж байгааг шалгах оролдлого байв. Үндсэндээ бидний харуулахыг хичээсэн зүйл бол Stack Overflow кодыг сайтар харахгүйгээр ашиглах нь програмын эмзэг байдалд хүргэж болзошгүй юм ”гэж Сами хэлэв. Энэхүү судалгаа нь 2017 оны эрдэм шинжилгээний өгүүллийг мөн хэлнэ.

Энэ нийтлэлийн дагуу Stack Overflow дээр байрлуулсан найдваргүй кодын 1161 ширхэг хэсгийг Google Play дээр ашиглах боломжтой 1.3 сая Android програмд ​​ашигласан болно.

Өмнөх судалгаанаас гадна StackOverflow кодыг зохиогчийг нь заагаагүйгээр ашигласан хөгжүүлэгчдийн 46% нь 75% нь CC BY-SA-ийн дагуу лицензтэй болохыг, 67% нь энэ нь хэрэгцээ шаардлагыг илэрхийлж байгааг мэдэхгүй байна. хамаарал.

Бусад судалгаануудын өгөгдлөөс харахад түүврийн кодыг ашиглах нь кодонд гарсан алдааны эрсдэл төдийгүй эмзэг байдалтай холбоотой юм.

Жишээлбэл, StackOverflow дээрх 72483 C ++ кодын дээжинд дүн шинжилгээ хийсний дараа судлаачид хамгийн түгээмэл зөвлөмжүүдийн жагсаалтад багтсан 69 дээжинд (0.09%) ноцтой эмзэг байдлыг илрүүлсэн.

Эх сурвалж: https://programming.guide


Нийтлэлийн агуулга нь бидний зарчмуудыг баримталдаг редакцийн ёс зүй. Алдааны талаар мэдээлэхийн тулд товшино уу энд байна.

Сэтгэгдэл бичих эхний хүн бай

Сэтгэгдэлээ үлдээгээрэй

Таны и-мэйл хаяг хэвлэгдсэн байх болно. Шаардлагатай талбарууд нь тэмдэглэгдсэн байна *

*

*

  1. Мэдээллийг хариуцах: Мигель Анхель Гатан
  2. Мэдээллийн зорилго: СПАМ-ыг хянах, сэтгэгдлийн менежмент.
  3. Хууль ёсны байдал: Таны зөвшөөрөл
  4. Мэдээллийн харилцаа холбоо: Хуулийн үүргээс бусад тохиолдолд мэдээллийг гуравдагч этгээдэд дамжуулахгүй.
  5. Өгөгдөл хадгалах: Occentus Networks (ЕХ) -с зохион байгуулсан мэдээллийн сан
  6. Эрх: Та хүссэн үедээ мэдээллээ хязгаарлаж, сэргээж, устгаж болно.