A legnépszerűbb , megjelent a StackOverflow-n, egy hibával, amely bizonyos feltételek mellett helytelen eredményt eredményezne. A szóban forgó kódot 2010-ben tették közzé, és több mint ezer ajánlást gyűjtött össze, valamint Ez a hiba számos projektben megtalálható, és körülbelül 7 alkalommal jelenik meg a GitHub repository-kban. Figyelemre méltó, hogy a hibát nem a felhasználók fedezték fel, akik ezt a kódot bemásolták a projektjeikbe, hanem a tipp eredeti szerzője.
A szóban forgó kód bájtméreteket alakított át olvasható formába, például a 110592-t "110.6 kB"-ra vagy "108.0 KiB"-ra konvertálta. A kódot egy korábban javasolt tipp logaritmusra optimalizált változataként javasolták, amelyben az értéket úgy határozták meg, hogy az eredeti értéket egy ciklusban szekvenciálisan elosztották 1018-cal, 1015-tel, 1012-vel, 1019-cel.
106, 103 és 100, amennyiben az osztó nagyobb, mint az eredeti érték bájtban. Az optimalizált verzióban a pontatlan számítások (hosszú érték túlcsordulás) miatt a nagyon nagy számok (exabájtok) feldolgozásakor az eredmény inkonzisztens volt.
A tanács szerzője megpróbálta felhívni a figyelmet a példák forrásmegjelölés nélküli másolásának problémájára is, a licenc megjelölése nélkül. Korábbi jelentések szerint A fejlesztők 46%-a forrásmegjelölés nélkül másolt kódot a StackOverflow-ból, 75%-uk nem volt tudatában annak, hogy a kód CC BY-SA licenc alatt áll, és 67%-uk nem volt tudatában annak, hogy forrásmegjelölés szükséges.
On Egy másik tanulmány szerint a kódpéldák másolása nemcsak hibák, hanem sebezhetőségek bevezetésének kockázatát is magában hordozza. Például a StackOverflow-n 72 483 C++ kódpélda elemzése után a kutatók a legnépszerűbb ajánlások listáján szereplő 69 példában (vagyis 0.09%-ban) azonosítottak súlyos sebezhetőségeket. A kód GitHubon való jelenlétének elemzése után azt találták, hogy a StackOverflow-ról másolt sebezhető kód 2859 projektben volt jelen.
Forrás: opennet.ru
