A legnépszerűbb Java-kód példa a StackOverflow-on hibásnak bizonyult

A legnépszerűbb Java kód példa, amelyet a StackOverflow-on publikáltak, lett hibával, amely bizonyos körülmények között hibás eredményhez vezet. A szóban forgó kódot 2010-ben tették közzé, és több mint ezer ajánlást gyűjtött össze, emellett sok projektbe másolták és körülbelül 7000 alkalommal található meg a GitHub-repozitóriumokban. Érdekes, hogy a hibát nem a felhasználók fedezték fel, akik ezt a kódot terjesztették projektjeikben, hanem az eredeti tanács szerzője.

A szóban forgó kód byte méretét olvasható formátumra alakította, például 110592 átalakult „110.6 kB”-ra vagy „108.0 KiB”-ra. A kódot optimalizált változatként javasolták, a logaritmusok segítségével, a korábban javasolt tanács egy korai változatához képest, amely az érték meghatározását sorozatos osztás alapján végezte a ciklusban 1018, 1015, 1012, 1019,
106, 103 és 100 révén, amíg a osztó nagyobb nem lett az eredeti byte értéknél. Az optimalizált változatban a pontatlan számítások miatt (long érték túlcsordulása) a nagyon nagy számok (exabájt) feldolgozása során végzett munka eredménye nem volt hiteles.

A tanács szerzője arra is próbálta felhívni a figyelmet, hogy a példák hivatkozás nélküli másolása és engedélyezés nélkül problémát jelent. A korábban végzett kutatás szerint a fejlesztők 46%-a másolt kódot a StackOverflow-ról anélkül, hogy megjelölnék a szerzőt, 75% nem tudta, hogy a kód CC BY-SA licenc alatt terjesztik, míg 67% nem volt tisztában azzal, hogy ez mit jelent a szerzői jog megjelölésében.

A adatok egy másik kutatás szerint a kód példák másolása nemcsak a kód hibáinak, hanem sebezhetőségeinek kockázatával is jár. Például, miközben a StackOverflow-on 72483 C++ kód példát elemeztek, a kutatók 69 példában komoly sebezhetőségeket azonosítottak (ami 0,09%-ot jelent) a legnépszerűbb ajánlások listáján. Ezután, amikor a GitHub-on ellenőrizték ennek a kódnak a meglétét, kiderült, hogy a StackOverflow-ról másolt sebezhető kód 2859 projektben található.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster