StackOverflow-en Java kodearen adibiderik ezagunenak errore bat du

Ezagunenak Java kodearen adibidea, StackOverflow-en argitaratua, bihurtu zen baldintza jakin batzuetan emaitza oker bat ateratzeko errore batekin. Aipatutako kodea 2010ean argitaratu zen eta mila gomendio baino gehiago pilatu ditu, eta gainera kopiatu proiektu askotan eta GitHub-eko biltegietan 7 mila aldiz agertzen da. Azpimarratzekoa da errorea ez dutela kode hau euren proiektuetan kopiatzen duten erabiltzaileek aurkitu, aholkuaren jatorrizko egileak baizik.

Kode horrek byte-tamaina forma irakurgarri batean bihurtu zuen, adibidez 110592 "110.6 kB" edo "108.0 KiB" bihurtuz. Kodea aurretik proposatutako aholkuaren logaritmo optimizatutako bertsio gisa proposatu zen, zeinetan balioa jatorrizko balioaren zatiketa sekuentzialaren arabera zehaztu zen 1018, 1015, 1012, 1019 begizta batean.
106, 103 eta 100, betiere zatitzailea jatorrizko bytearen balioa baino handiagoa bada. Bertsio optimizatuan egindako kalkulu maltzurengatik (balio luzea gainezkatzea), oso kopuru handiak prozesatzen direnean (exabyte) emaitza ez zetorren errealitatearekin.

Aholkuaren egilea ere adibideen kopiaren arazoari arreta jartzen saiatu zen iturria aipatu gabe eta lizentzia adierazi gabe. Lehengo datuen arabera ikerketa egin zuen Garatzaileen % 46k kopiatu zuen StackOverflow-tik kodea atribuziorik gabe, % 75ek ez zekien kodea CC BY-SA lizentziapean zegoenik eta % 67k ez zekien hori atribuzioa behar zela.

On datuak Beste ikerketa baten arabera, kodearen adibideak kopiatzeak kodean akatsak izateko arriskua ez ezik, ahuleziak ere dakartza. Esaterako, StackOverflow-en C++ 72483 kode adibide aztertu ondoren, ikertzaileek ahultasun larriak identifikatu zituzten gomendio ezagunenen zerrendan sartutako 69 adibidetan (% 0.09). Ondoren, GitHub-en kode honen presentzia aztertuta, StackOverflow-etik kopiatutako kode zaurgarria 2859 proiektuetan zegoela agerian geratu zen.

Iturria: opennet.ru

Gehitu iruzkin berria