C++26: hardening da biblioteca padrão para código mais seguro
Experimentos de hardening no C++26 buscam tornar erros de uso da biblioteca padrão mais fáceis de detectar. Entenda como funciona, o que testar na CI e quais limites permanecem.
Experimentos de hardening no C++26 buscam tornar erros de uso da biblioteca padrão mais fáceis de detectar. Entenda como funciona, o que testar na CI e quais limites permanecem.
Conheça o vphone-cli, projeto em Swift que cria um iPhone virtual usando o Virtualization.framework da Apple. Veja os requisitos, o fluxo de instalação e os cuidados antes de testar a ferramenta.
Entenda como os padrões Typestate e Newtype modelam estados válidos em Rust. Veja um exemplo prático e descubra quando essa abordagem reduz bugs sem transformar o código em um labirinto.
Um relato recente mostra como um fuzzer criado com apoio de código gerado encontrou um bug de divisão por zero no FFmpeg. Veja como esse tipo de teste funciona e como aplicar a ideia em projetos de mídia.
Uma aplicação com LLM pode retornar status 200 e ainda entregar uma resposta errada. Veja cinco falhas silenciosas e aprenda a detectá-las com contratos, avaliações e observabilidade.
Uma suite de testes pode passar mesmo quando frontend e backend discordam sobre nomes, tipos ou regras de uma API. Entenda como tratar o contrato como parte do produto e reduza bugs que só aparecem em produção.
Kani e uma ferramenta de verificação formal para Rust que usa model checking para provar matematicamente que seu código não tem certos tipos de bugs. Entenda como funciona, quando usar e como ela se diferencia de testes e fuzzing.