Wednesday, November 21, 2007

BitDiffer - Binary Diff'ing of .Net Assemblies

BitWidgets - BitDiffer

"Ever wonder what really changed in that DLL you are about to release to production? Would you like to check a 3rd party library for breaking changes before referencing it? Would it be helpful to integrate an automatically generated change report - at the assembly binary level - in your deployment and migration process?

BitDiffer allows you to compare multiple versions of assemblies for all types of changes and drill down to find the smallest changes, public or private.

...

You can compare implementation of methods and properties, not just the declarations. You can compare protected, internal and private items as well as just the exported public types.

BitDiffer will catalog and compare:

  • Classes
  • Interfaces
  • Properties
  • Fields
  • Methods
  • Attributes
  • Events
  • Assembly Attributes

...

You don't have to be limited to comparing just two versions of assembly. You can also load up a series of versions and review them side-by-side to see how they all changed across time.

...

Run BitDiffer as part of your automated build, deployment, or migration process and automate the process of generating change reports on the assemblies that you are handling.

..."

While I usually focus on Free/OSS stuff, when Greg emailed about BitDiffer, I thought it sounded pretty cool... (and us Greg's have to stick together ;)

I like the thought I can add it to TeamBuild via its command line interface. I also dig its time line feature, showing how an assembly has changed over time.

In a perfect world we wouldn't need a utility like this, because every change would be documented, unit tested and clearly communicated. But reality is what we're stuck with. If you have to consume assemblies produced by others (internally or externally) then a tool like this may help you identify the impact of any changes and help you avoid CPD (Change and Pray Development) practices.

Again it's not free, but at $60 for a single license or $480 for a site license, its price seems reasonable.

No comments: