can your diff 1 do this can your diff 1 do this
play

Can your diff(1) do this?! Can your diff(1) do this?! Improving - PowerPoint PPT Presentation

Can your diff(1) do this?! Can your diff(1) do this?! Improving soware review & QA with diffoscope Improving soware review & QA with diffoscope Chris Lamb Chris Lamb foss-north.se foss-north.se @lolamby @lolamby April 2018


  1. Can your diff(1) do this?! Can your diff(1) do this?! Improving so�ware review & QA with diffoscope Improving so�ware review & QA with diffoscope Chris Lamb Chris Lamb foss-north.se foss-north.se @lolamby @lolamby April 2018 April 2018 Debian Project Leader Debian Project Leader Gothenburg, Sweden Gothenburg, Sweden

  2. Hallå! Hallå!

  3. Open source developer for 10+ years Debian Project Leader opensource.org board member Freelance so�ware developer

  4. Why? Why?

  5. Source code available for free so�ware… … everyone runs binaries Do they correspond?

  6. Build farms Developer's machines Blackmail, law-enforcement…

  7. 1. Ensure build have identical results 2. Multiple parties compare results 3. Attacker must infect everybody simultaneously

  8. Identical results? Identical results?

  9. Archive formats Archive formats

  10. Compressed formats Compressed formats

  11. Recursive Recursive

  12. Line ordering Line ordering

  13. HTML output HTML output

  14. Android boot ROMs, Android APKs, ar archives, bzip2 files, Coreboot cbfs, CPIO archives, Dalvik dex file, Debian packages, device (mknod), device tree globs, directories, docx, ELF binaries, ext filesystem images, fontconfig cache dirs, fonts, gettext catalogues, GIF images, Git repositories, GZip files, Haskell binaries, ICC colour profiles, ISO images, Java, bytecode, Javascript, JSON, LLVM binaries, Macho binaries, Mono executables, odt documentens, Ogg borbis, OpenSSH keys, Pascal binaries, PDF files, PGP/GPG keys, PNG images, PostScript, RPM images, R statistical data, Rust binaries, SQLite databases, squashfs images, symlinks, tar archives, tcpdump dumps, text files, XML documents, XZ files, ZIP archives …

  15. Android images Android images

  16. Berkeley DB databases Berkeley DB databases

  17. Microso� Word Microso� Word .docx .docx

  18. Ebooks Ebooks

  19. Mono binaries Mono binaries

  20. git(1) repositories repositories git(1)

  21. Gnumeric spreadsheets Gnumeric spreadsheets

  22. ISO images ISO images

  23. JSON JSON

  24. OpenDocument text documents OpenDocument text documents

  25. Ogg audio files Ogg audio files

  26. tcpdump(1) capture files capture files tcpdump(1)

  27. PDF PDF

  28. XML documents XML documents

  29. Using diffoscope for QA Using diffoscope for QA

  30. Just see changes you expect Just see changes you expect

  31. Seeing "no" changes Seeing "no" changes

  32. Security releases Security releases

  33. Security "releases" Security "releases"

  34. Getting started Getting started

  35. try.diffoscope.org try.diffoscope.org

  36. Current status Current status

  37. Parallel processing Parallel processing Multiple previous attempts… … Juliana Oliveira working on this now

  38. diffoscope.org diffoscope.org

  39. Tack! Tack! @lolamby @lolamby diffoscope.org diffoscope.org lamby@debian.org lamby@debian.org chris-lamb.co.uk chris-lamb.co.uk

  40. @lolamby @lolamby diffoscope.org diffoscope.org lamby@debian.org lamby@debian.org chris-lamb.co.uk chris-lamb.co.uk

Recommend


More recommend