Cuplikan kode Java sing paling akeh digunakake ing Stack Overflow ngemot kesalahan

Jawa

Sinau sing diterbitake ing Oktober 2018 ing majalah Teknik Piranti Lunak empiris dening para akademisi Sebastian Baltes lan Stephan Diehl ngumumake yen potongan kode kasedhiya ing wangsulan pitakon saka Stack Overflow ing wulan September 2010 dening Andreas Lundblad, Pangembang Java ing Palantir, Iki minangka potongan kode Java sing paling akeh digunakake ing platform komunitas.

Nanging, ing kiriman minggu kepungkur, Lundblad nerangake manawa kode kasebut salah lan kode kasebut salah ngonversi ing format sing bisa diwaca manungsa. Kode sing dimaksud wis nglumpukake luwih saka sewu rekomendasi lan uga kalebu ing pirang-pirang proyek lan kalebu ing gudang ing GitHub udakara 7 ewu kaping.

Elinga yen kesalahan ora ditemokake pangguna sing nggunakake kode iki ing proyek, nanging dening penulis asli tip kasebut.

Kode sing dianggep ngowahi ukuran byte ing formulir sing bisa diwaca, kayata 110592 sing diowahi dadi "110.6 kB" utawa "108.0 KiB". Kode kasebut diusulake minangka varian saka saran sing diusulake sadurunge, dioptimalake nggunakake logaritma, ing endi regane ditemtokake kanthi misahake nilai awal ing daur ulang kanthi «10 18, 10 15, 10 12, 10 19, 10 6, 10 3 lan 10 0 ″ , sanajan pembagi luwih gedhe tinimbang regane asli ing bait.

Amarga petungan sing ora akurat ing versi sing dioptimalake (kebanjiran regane dawa), asil pangolahan nomer akeh banget (exabytes) ora cocog karo kasunyatan.

Lundblad nerangake manawa kode kasebut ngemot kesalahan konversi sepele sing mung nyebabake perkiraan ukuran file sing kurang akurat. Yen jarene, kira-kira bakal luwih ala tinimbang iku.

Kode kasebut bisa uga ngemot kerentanan keamanan, umpamane. Yen ngono, butuh pirang-pirang wulan utawa pirang-pirang taun kanggo ndandani kabeh aplikasi sing rentan, sing nyebabake serangan pangguna.

Penulis saran kasebut uga nyoba narik kawigaten masalah kasebut nggunakake conto tanpa referensi kanggo sumber lan tanpa nemtokake lisensi.

"Ing sesi kolaborasi sing nglibatake macem-macem kodhe manungsa, kanthi manual menilai saben kode kanggo kerentanan keamanan miturut pandhuan CWE (Enomasi Kelemahan Umum).

Saka 72,483 potongan kode sing dipindai sing digunakake paling ora siji proyek sing dianakake GitHub, kita nemokake total 69 cuplikan kode rentan diklasifikasikake dadi 29 jinis. Akeh potongan kode sing diteliti durung bisa ditemtokake, "ujare peneliti ing laporan kasebut.

69 potongan kode rentan ditemokake ing Stack Overflow digunakake maneh ing total 2859 proyek GitHub. Kanggo nambah kualitas potongan kode sing dituduhake ing Stack Overflow, dheweke nggawe ekstensi browser sing ngidini pangguna Stack Overflow nggoleki kerentanan ing potongan nalika ndownload menyang platform.

Nanging, sanajan ana panaliti, pangembang isih nyalin kode Stack Overflow menyang proyek tanpa nindakake analisis.

Ashkan Sami, Profesor Associate IT, teknik lan teknologi informasi ing Universitas Shiraz ing Iran, ujar manawa

"Riset kasebut minangka upaya kanggo mriksa kepiye kode kesalahan migrasi saka Stack Overflow menyang GitHub. Sejatine sing nyoba kanggo nuduhake yaiku nggunakake kode Stack Overflow tanpa mriksa kanthi cetha bisa nyebabake kerentanan aplikasi, "ujare Sami. Panaliten kasebut uga nuduhake artikel akademik wiwit taun 2017.

Miturut artikel iki, 1161 potongan kode aman sing dikirim ing Stack Overflow digunakake ing 1.3 yuta aplikasi Android sing kasedhiya ing Google Play.

Saliyane panelitian sadurunge, 46% pangembang sing nggunakake kode StackOverflow tanpa nemtokake pangarang, 75% ora ngerti manawa kode kasebut dilisensi miturut CC BY-SA lan 67% ora ngerti manawa iki tegese kabutuhan atribusi.

Miturut data saka panelitian liyane, nggunakake kode conto digandhengake ora mung karo risiko kewan omo ing kode kasebut, nanging uga kerentanan.

Contone, sawise nganalisa sampel kode 72483 C ++ ing StackOverflow, peneliti ngenali kerentanan serius ing 69 sampel (yaiku 0.09%), kalebu ing dhaptar rekomendasi sing paling populer.

sumber: https://programming.guide


Konten artikel kasebut sesuai karo prinsip kita yaiku etika editorial. Kanggo nglaporake klik kesalahan Kene.

Dadi pisanan komentar

Ninggalake komentar sampeyan

Panjenengan alamat email ora bisa diterbitake. Perangkat kothak ditandhani karo *

*

*

  1. Tanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Kontrol SPAM, manajemen komentar.
  3. Legitimasi: idin sampeyan
  4. Komunikasi data: Data kasebut ora bakal dikomunikasikake karo pihak katelu kajaba kanthi kewajiban ukum.
  5. Panyimpenan data: Database sing dianakake dening Occentus Networks (EU)
  6. Hak: Kapan wae sampeyan bisa matesi, mulihake lan mbusak informasi sampeyan.