JDIFF(1)

πŸ“¦
version 6.6.0 Β· 2 versions
, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– jdiff β€” the manual, but make it cute πŸ’–

okay so. bestie. this is jdiff, from the User Commands corner of your manual pages. it's a syntactic diff of goto programs obtained from Java bytecode. that's the whole name of the game. two programs go in, you find out how they're different, and it does that at the goto-program level, not just by staring at text like some kind of animal. iconic. ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

jdiff [-?] [-h] [--help]
       show help

jdiff old new
       jars to be compared

so there's basically two modes and they're both right there. one is "help me pls" and one is "compare these two jars for me." the first one is the old jar and the second one is the new jar. they're jars, like, the actual jar files, and they get compared. that's it, that's the shape of it. πŸ’…


🌸 DESCRIPTION 🌸

okay so, um. the original page does not actually fill this section in. like, the heading is there and then nothing. so there's nothing for me to tell you here that wouldn't be me making stuff up, and I am not about to invent technical claims, that's not the vibe. everything you actually need lives in the NAME and the OPTIONS below, and honestly the options section is the main character here. go read that. 🫢


✨ OPTIONS ✨

πŸŽ€ Diff options:

these are the ones that decide what you're looking at and how it gets printed. pick your fighter.

  • --show-goto-functions β€” show the loaded goto program. like, actually display it. let it be seen. πŸ‘‘
  • --list-goto-functions β€” list the loaded goto functions. just the list, no big display moment.
  • --show-properties β€” show the properties, but don't run the analysis. you're peeking, not computing.
  • --show-loops β€” show the loops in the programs. we love a loop reveal. πŸ”
  • -u | --unified β€” output a unified diff. the classic. the format you already know and love.
  • --change-impact | β€” output unified diff with forward & backward dependencies.
  • --forward-impact | β€” output unified diff with forward dependencies.
  • --backward-impact β€” output unified diff with backward dependencies. (yes, these three are listed together like that up there, and they all do the unified-diff thing but with a different flavor of dependencies. change = forward & backward, forward = forward, backward = backward. slay.)
  • --compact-output β€” output dependencies in compact mode. less sprawl, more density. πŸ’–

🧚 Program instrumentation options:

now we're getting into the "poke at the program while we look at it" territory. handle with care, these change what gets tracked.

  • --no-assertions β€” ignore user assertions. like they were never there. πŸ™ˆ
  • --no-assumptions β€” ignore user assumptions. same energy.
  • --cover CC β€” Add instrumentation as used with jbmc(1) for creating a test-suite with coverage criterion CC, where CC is one of assertion[s], assume[s], branch[es], condition[s], cover, decision[s], location[s], or mcdc. yes, those brackets mean the singular and plural forms both work. yes, mcdc is one of them. yes, that's a real criterion. πŸ’…
  • --cover-failed-assertions β€” do not stop coverage checking at failed assertions. and heads up: this is the default for --cover assertions. so it's already on in that case, bestie.
  • --show-test-suite β€” print the test suite for the coverage criterion. ⚠️ it requires --cover β€” it will not do anything cute on its own.

🌈 Other options:

the catch-all, the leftovers, the ones that don't fit in a box. still important though, don't skip.

  • --version β€” show the version and exit. boom, done, out. πŸ‘‹
  • --json-ui β€” use JSON-formatted output. for when you want your diff to be machine-readable and also kind of aesthetic.
  • --verbosity n β€” verbosity level. crank it up or down with n. talk to me or don't.
  • --timestamp [monotonic|wall] β€” Print microsecond-precision timestamps. monotonic: stamps increase monotonically. wall: ISO-8601 wall clock timestamps. so you can literally see time moving. πŸ•°οΈ

πŸ“ ENVIRONMENT πŸ“

  • All tools honor the TMPDIR environment variable when generating temporary files and directories. set it, love it, control where your temp stuff lands. 🫢

πŸ’€ BUGS πŸ’€

if you encounter a problem please create an issue at:

https://github.com/diffblue/cbmc/issues

that's the whole thing. don't suffer in silence, go file it. no cap.


🌸 SEE ALSO 🌸

go read those too, they're in the family. iykyk. πŸ¦‹


2016-2018, Daniel Kroening, Peter Schrammel

and that's the whole page, bestie πŸ’œ β€” this was jdiff from version jdiff-5.59.0, dated June 2022, filed under JDIFF(1) in the User Commands section. periodt. πŸŽ€βœ¨

πŸ“¦ where this page comes from