KÔige populaarsem Java-koodi nÀide StackOverflow's osutus veaga

KĂ”ige populaarsem Java koodi nĂ€ide, mis on avaldatud StackOverflow'is, osutunud kus on viga, mis teatud tingimustel viib vale tulemuse vĂ€ljundini. Arutatud kood pandi ĂŒles 2010. aastal ja kogus ĂŒle tuhande soovituse, samuti on see kopeeritud paljusse projekti ning leidub GitHubi hoidlates umbes 7 tuhat korda. TĂ€helepanuvÀÀrne on, et vea avastas mitte see, kes kopeeris koodi oma projektidesse, vaid algne soovitaja.

Kood, mida arutatakse, tegi baidise suuruse inimejanemisvÀÀrseks kujul, nÀiteks 110592 muudetakse '110.6 kB' vÔi '108.0 KiB'. Kood pakuti vÀlja optimeeritud variandina varasemast nÔuandest, kus suurust mÀÀrati lÀhtudes algvÀÀrtuse jÀrjestikust jagamist silmustes 10^18, 10^15, 10^12, 10^19,
10^6, 10^3 ja 10^0, kuni jagaja on suurem kui algvÀÀrtus baitides. Optimeeritud variandi ebatĂ€psete arvutuste tĂ”ttu (long vÀÀrtuse ĂŒletamine) ei vastanud vĂ€ga suurte numbrite (eksabait) töötlemise tulemus tegelikkusele.

NĂ”uande autor pĂŒĂŒdis samuti tĂ€helepanu juhtida probleemile, et kopeeritakse nĂ€iteid ilma allika viiteta ja ilma litsentsi mĂ€rkida. Varasema uuringu kohaselt 46% arendajatest kopeeris koodi StackOverflow'ist ilma autori mainimiseta, 75% ei teadnud, et kood on litsentsitud CC BY-SA all, ning 67% ei teadnud, et see tĂ€hendab autoriĂ”iguse mainimist. Teise uuringu kohaselt on koodinĂ€idete kopeerimisel risk mitte ainult vigade esinemise, vaid ka haavatavuste osas. NĂ€iteks analĂŒĂŒsides 72483 C++ koodinĂ€idet StackOverflow'is, avastasid teadlased tĂ”sised haavatavused 69 nĂ€ites (mis moodustab 0.09%), mis on loetletud kĂ”ige populaarsemate soovituste seas. JĂ€rgnev analĂŒĂŒs GitHubis nĂ€itas, et StackOverflow'ist kopeeritud haavatav kood esines 2859 projektis.

Kohal andmetele Teisest uuringust selgub, et koodinĂ€idete kopeerimisega kaasneb mitte ainult vigade risk, vaid ka haavatavused. NĂ€iteks analĂŒĂŒsides StackOverflow's 72483 C++ koodinĂ€idet, tuvastasid teadlased tĂ”sised haavatavused 69 nĂ€ites (see moodustab 0,09%), mis on loetletud kĂ”ige populaarsemate soovituste seas. Edasi uurides, kui see kood oli saadaval GitHub'is, leiti, et StackOverflow's kopeeritud haavatav kood leidub 2859 projektis.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster