Graphtage: A New Semantic Diffing Tool
blog.trailofbits.com
Graphtage: A New Semantic Diffing Tool
1–10 of 16 posts
Re: Graphtage: A New Semantic Diffing Tool
#2I like the idea that it can do semantic diffs across different formats.
Re: Graphtage: A New Semantic Diffing Tool
#3looks cool already though, got to try it some time.
Re: Graphtage: A New Semantic Diffing Tool
#4Re: Graphtage: A New Semantic Diffing Tool
#5I want one that can also find non-perfectly matching moved lines :) looks cool already though, got to try it some time.
Initially, tool would merge based on series of heuristics and then user would manually adjust "matching" nodes (user could say "actually, this A on the left and B on the right are the same, it's just that it was heavily modified").
Re: Graphtage: A New Semantic Diffing Tool
#6I want one that can also find non-perfectly matching moved lines :) looks cool already though, got to try it some time.
At my previous job I've built a tool that was capable of doing that (we were merging XMLs with form definitions). The main idea was an interactive mode. Initially, tool would merge based on series of heuristics and then user would manually adjust "matching" nodes (user could say "actually, this A on the left and B on the right are the same, it's just that it was heavily modified").
Re: Graphtage: A New Semantic Diffing Tool
#7I would recommend deleting the screenshots, though. I looked at them and thought "so what? that's been done many times before" until I read the text more carefully.
Also, turn the saturation down. That’s the greenest green and the reddest red next to the darkest blue. My eyes.
Re: Graphtage: A New Semantic Diffing Tool
#8I’d changed a shell script, with a chain of commands. I added a second call to the same command with different args and the diff was just... bad.
something && fizz foo && another
something && fizz bar && fizz foo && another
It decided that “bar && fizz” was my edit, and I just stared at it (it was already a tough day). Even if they had just weighted punctuation characters differently, it would have gotten the right answer, as it would with adding new functions or array entries, which it always gets wrong too.Sort it out please.
Re: Graphtage: A New Semantic Diffing Tool
#9I would recommend deleting the screenshots, though. I looked at them and thought "so what? that's been done many times before" until I read the text more carefully.
I would recommend reshooting the screenshots. Navy blue on a jet black background? Removing new lines in the initial example but not in the diffs? Fixing those would get the point across better. Also, turn the saturation down. That’s the greenest green and the reddest red next to the darkest blue. My eyes.
Back on point, I see so much of this grey-on-grey type thing, just a little common sense would suggest it's very poor practice but it keeps happening.
Re: Graphtage: A New Semantic Diffing Tool
#10Also-- for "standalone" tools like this that are written in Python, I highly recommend Pipx for installing them: https://pipxproject.github.io/pipx/. It installs each tool into a separate self-contained virtual environment and symlinks the executable itself to a "bin" directory, which prevents tools with different dependencies from conflicting.