O exemplo de código Java mais popular no StackOverflow tinha um erro

O mais popular exemplo de código Java, publicado no StackOverflow, se tornou com um erro que leva à produção de resultados incorretos sob certas condições. O código em questão foi postado em 2010 e acumulou mais de mil recomendações, além de ter sido copiado em muitos projetos e aparece em repositórios no GitHub cerca de 7 mil vezes. É notável que o erro não foi encontrado por usuários que copiavam esse código para seus projetos, mas sim pelo autor original do conselho.

O código em questão realizava a conversão de tamanhos em bytes para um formato legível, como 110592 convertendo para "110,6 kB" ou "108,0 KiB". O código foi sugerido como otimizado utilizando logaritmos, uma versão anterior do conselho, onde o valor era determinado com base na divisão sequencial do valor original em um loop por 1018, 1015, 1012, 1019,
106, 103 e 100, até que o divisor fosse maior que o valor original em bytes. Devido a cálculos imprecisos na versão otimizada (overflow do valor long), o resultado ao processar números muito grandes (exabytes) não correspondia à realidade.

O autor do conselho também tentou chamar a atenção para o problema da cópia de exemplos sem referência à fonte e sem indicar licença. De acordo com uma pesquisa anterior realizada, 46% dos desenvolvedores copiaram código do StackOverflow sem atribuir ao autor, 75% não sabiam que o código é distribuído sob a licença CC BY-SA, e 67% não sabiam que isso implica a necessidade de atribuição.

De acordo com dados Outro estudo indicou que copiar exemplos de código não só envolve o risco de erros no código, mas também de vulnerabilidades. Por exemplo, ao analisar 72483 exemplos de código C++ no StackOverflow, os pesquisadores identificaram sérias vulnerabilidades em 69 exemplos (o que representa 0,09%), que fazem parte da lista das recomendações mais populares. Em seguida, ao analisar a presença desse código no GitHub, foi identificado que o código vulnerável copiado do StackOverflow está presente em 2859 projetos.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster