Skip to content

Conversation

@ShashankVM
Copy link

Fixes #1287

@ShashankVM
Copy link
Author

ShashankVM commented Oct 3, 2025

Hi Project Maintainers!

I've been using EBMC for hobby projects for a year now. The VCD file generation for each cover statement was a feature that I sorely missed in my projects.

I've implemented this feature and verified it is working locally. I've attached the screenshot of the results.
image

I'm looking forward to contributing to this project and welcome feedback!

@kroening
Copy link
Collaborator

kroening commented Oct 4, 2025

This regresses on the current behavior, where you can get the trace in a file named as the argument of --vcd. The user still needs to give an argument to the --vcd switch, which will be ignored.

@ShashankVM
Copy link
Author

Thanks for your feedback. @kroening

Do we want to keep the argument for VCD filename?

If yes, I can include the filename argument as a suffix in the final filename.

If not, I can work on modifying the command line parsing logic. Please let me know how to proceed.

@kroening
Copy link
Collaborator

kroening commented Oct 7, 2025

Thanks for your feedback. @kroening

Do we want to keep the argument for VCD filename?

If yes, I can include the filename argument as a suffix in the final filename.

This is what we are doing for --random-traces (look at random_traces.cpp, line 169).

However, making that change would still regress the current behaviour. I am not opposed to this in principle, but we'd need to do this as part of a major version release. Let's do it.

@ShashankVM
Copy link
Author

Thanks for your feedback. @kroening
Do we want to keep the argument for VCD filename?
If yes, I can include the filename argument as a suffix in the final filename.

This is what we are doing for --random-traces (look at random_traces.cpp, line 169).

However, making that change would still regress the current behaviour. I am not opposed to this in principle, but we'd need to do this as part of a major version release. Let's do it.

I've copied code over from random_traces.cpp file and verified that it now implements adding filename argument as a prefix, similar to random traces.

Copy link
Author

@ShashankVM ShashankVM left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All whitespace changes reverted and looks good to me.

@ShashankVM ShashankVM requested a review from tautschnig October 21, 2025 11:59
@kroening
Copy link
Collaborator

Please apply git-clang-format.

@ShashankVM ShashankVM requested a review from kroening December 14, 2025 12:24
@ShashankVM
Copy link
Author

Please apply git-clang-format.

Thanks, I have run this command before pushing my changes.

Copy link
Author

@ShashankVM ShashankVM left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed all suggested changes and updated the code. Thanks for the quick code review!

@ShashankVM ShashankVM requested a review from kroening December 15, 2025 17:03
@kroening
Copy link
Collaborator

BTW, please squash the commits into one, then this is ready to merge.

@ShashankVM
Copy link
Author

I've tried squashing the commits into one by reading an online tutorial. Hope this worked.

@ShashankVM
Copy link
Author

I'm still seeing 16 commits, looks like the squash didn't work?

@ShashankVM ShashankVM requested a review from kroening December 15, 2025 17:48
@ShashankVM
Copy link
Author

I can try squashing the commits again tomorrow if required.

@kroening
Copy link
Collaborator

kroening commented Dec 15, 2025

Try this:

git checkout vcd_for_all_cover
git reset --soft origin/main
git commit -m "Generate VCD file for each cover statement"
git push --force

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Generate VCD for each trace of cover property

3 participants