Nejoblíbenější příklad kódu Java na StackOverflow skončil s chybou

Nejpopulárnější Příklad kódu v Javě, publikováno na StackOverflow, Ukázalo se, že je s chybou, která by za určitých podmínek způsobovala chybný výsledek. Dotyčný kód byl zveřejněn v roce 2010 a nashromáždil přes tisíc doporučení a byl také zkopírováno Tato chyba se vyskytuje v mnoha projektech a v repozitářích GitHubu se objevuje přibližně 7 000krát. Je pozoruhodné, že chybu neobjevili uživatelé, kteří tento kód kopírovali do svých projektů, ale původní autor tipu.

Daný kód převáděl velikosti bajtů do čitelné podoby, například 110592 bylo převedeno na „110.6 kB“ nebo „108.0 KiB“. Kód byl navržen jako logaritmicky optimalizovaná verze dříve navrženého tipu, ve kterém byla hodnota určena dělením původní hodnoty postupně ve smyčce čísly 1018, 1015, 1012, 1019,
106, 103 a 100, pokud je dělitel větší než původní hodnota v bajtech. Kvůli nepřesným výpočtům v optimalizované verzi (přetečení dlouhých hodnot) byl výsledek při zpracování velmi velkých čísel (exabajtů) nekonzistentní.

Autor rady se také pokusil upozornit na problém kopírování příkladů bez uvedení zdroje a bez uvedení licence. Podle předchozích zpráv provedený výzkum 46 % vývojářů kopírovalo kód ze StackOverflow bez uvedení zdroje, 75 % nevědělo, že kód je licencován pod CC BY-SA, a 67 % nevědělo, že je uvedení zdroje vyžadováno.

Na Podle Podle jiné studie s sebou kopírování příkladů kódu nese riziko nejen chyb, ale i zranitelností. Například po analýze 72 483 příkladů kódu C++ na StackOverflow vědci identifikovali závažné zranitelnosti v 69 příkladech (neboli 0.09 %), které byly zahrnuty v seznamu nejoblíbenějších doporučení. Po analýze přítomnosti tohoto kódu na GitHubu zjistili, že zranitelný kód zkopírovaný ze StackOverflow byl přítomen ve 2 859 projektech.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster