Quanto codice stai testando? (4)

馃Л Dove eravamo rimasti Benvenuti al nuovo capitolo della nostra serie dedicata alla misurazione della copertura dei test per i programmi binari! Nella parte 1 abbiamo utilizzato il flag -cover integrato in Go: pulito e preciso, ma funziona solo se si possiede il codice sorgente e lo si pu貌 ricompilare. Nella parte 2 abbiamo usato valgrind e gdb per tracciare gzip senza toccarne il sorgente. Nella parte 3 abbiamo esplorato Intel PIN, un vero e proprio framework di strumentazione binaria dinamica: potente, ma dotato di un SDK C++ proprietario da circa 100 MB e limitato a x86_64. ...

13 maggio 2026 路 Andrea Manzini

Dal mal di testa con QEMU alla modalit脿 Headless

馃樃 TL;DR Essendo pigro, ho creato uno strumento per eseguire immagini qcow2 a mia comodit脿. Ora supporta x86_64, aarch64, s390x e ppc64le. Sentitevi liberi di usarlo se lo trovate utile! 馃摉 La storia Se avete mai digitato qemu-system-x86_64 nel vostro terminale, conoscete bene la sensazione. Una paura strisciante. Un sudore freddo. Il mal di testa da QEMU. 脠 quella speciale emicrania riservata agli sviluppatori che sanno che passeranno i successivi dieci minuti a decifrare la cronologia della propria shell per ricordare quel flag magico per la rete. ...

28 settembre 2025 路 Andrea Manzini

Quanto codice stai testando? (3)

鈻讹笍 Intro: Let Me Be Nel post precedente abbiamo continuato il nostro viaggio affrontando uno scenario pi霉 complesso, utilizzando un mix di gdb e valgrind per tracciare l鈥檈secuzione di tutte le funzioni all鈥檌nterno di un dato binario. Questa volta reggetevi forte perch茅 aumenteremo notevolmente la complessit脿. Ci immergeremo nell鈥檃nalisi di basso livello ed esploreremo come utilizzare Intel PIN, un potente framework di strumentazione dinamica per manipolare e ispezionare il codice eseguibile a runtime. ...

17 giugno 2025 路 Andrea Manzini

Quanto codice stai testando? (2)

鈻讹笍 Introduzione Nel post precedente abbiamo iniziato il nostro viaggio con uno scenario molto semplice, e abbiamo utilizzato una comoda funzionalit脿 del linguaggio di programmazione Go per misurare quale percentuale del programma target viene esercitata dal nostro test. Questa volta sperimenter貌 una Proof of Concept su come ottenere una stima della metrica di copertura del codice di test per un normale programma binario, senza alcuna ricompilazione. In questo esempio faremo finta che il nostro compito sia scrivere test di integrazione per il famoso programma gzip, e cercheremo di misurare i progressi che stiamo facendo riguardo alla copertura dei nostri test. ...

30 marzo 2025 路 Andrea Manzini

This site does not use cookies or collect any personal data. © 2026 Andrea Manzini.