Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add flags for graphical output of exploration #24

Closed
wants to merge 14 commits into from

Conversation

margnus1
Copy link
Contributor

@margnus1 margnus1 commented Nov 9, 2017

This PR adds three flags.

  • --dump-traces writes a graphviz graph of the happens-before order of all explored traces to a file.
    traces dot
  • --dump-tree writes a graphviz graph of the exploration tree to a file.
    tree dot
  • --dump-spec writes a minimal DPORDriver_test::trace_set_spec of all explored equivalence classes to a file.
    CPid P;
    CPid P0 = P.spawn(0);
    DPORDriver_test::trace_set_spec expected = {
      {{{P,5},{P0,1}}},
      {{{P0,1},{P,5}}},
    };

Missing features:

  • A flag like Concuerror's --show-races, that draws red edges in the exploration tree of all races that had a reversal scheduled.
  • Yellow event boxes indicating that a thread has been terminated due to violating an assumption.

@margnus1 margnus1 force-pushed the trace-dump branch 7 times, most recently from 259b4d2 to e16a432 Compare November 9, 2017 22:27
margnus1 and others added 14 commits February 4, 2019 16:43
It is thus renamed IIDVCSeqTrace.
For now, the utility functions that were shared have been made public on
Trace.
TraceRecorder now stores which messages correspond to a certain event,
which allows them to be shown in the exploration tree.
This is an attempted fix aimed at a perceived flaw in --dump-spec, in
that it generates specs that are "technically correct", by only matching
one trace due to containing IIDs that are unique to that trace, but
"miss the point" in what characterises the trace.

This change does sometimes result in larger specs, but hopefully closer
to what a human would write.
They are also used by TraceDumper, even when
HAVE_BOOST_UNIT_TEST_FRAMEWORK is undefined.
@margnus1 margnus1 mentioned this pull request Jun 7, 2021
@margnus1 margnus1 linked an issue Jun 7, 2021 that may be closed by this pull request
@margnus1 margnus1 marked this pull request as draft June 7, 2021 09:54
@margnus1
Copy link
Contributor Author

margnus1 commented Apr 8, 2024

I'm unlikely to have the time to work on features like this. If anyone likes it, feel free to take up the mantle.

@margnus1 margnus1 closed this Apr 8, 2024
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.

See all traces
1 participant