Description
Hello,
In #7377, Michael identified an issue with goto-instrument
and the dumping of goto-binaries
: namely, that we get to do some instrumentation before we show the goto-functions if a user has asked for them.
In investigating how to add support for this in goto-instrument
, I discovered that the way we inspect properties of goto-binaries (either properties/assertions
, goto-functions
, etc) is not consistent between different tools.
It then striked me as a potential streamlining of our tools to offload the inspection of binaries to a single tool, which does no instrumentation, and start sunsetting these options (or hint that they are deprecated when a user activates the command line options, and direct them to this tool over time) would be of benefit:
- It makes binary inspection consistent across tools (in that it no longer suffers from instrumentation sequencing issues),
- It stops saturating different tools with more options on manipulating goto-programs,
- It allows narrower focus of some tools (say, offloading some work from CBMC in preparation for
core-BMC
.
In this spirit, I have authored PR #7673, which is now a draft, but I would like to get some thoughts from the community before I go forward and merge the PR.
Some questions:
- Is the streamlining opportunity as evident to others as it is for me?
- Am I missing something in the usage of the tools we already have that this move is disturbing?
- Could there be a better way to approach this issue? Or do we think that this is a good solution to the greater problem?