Add a label to nodes that have a bug report attached or on which the analysis was generally interrupted.
Fix printing has_report and implement printing is_sink in the graph dumper.
Paths
| Differential D64110
[analyzer] exploded-graph-rewriter: Implement bug nodes and sink nodes. ClosedPublic Authored by NoQ on Jul 2 2019, 4:10 PM.
Details Summary Add a label to nodes that have a bug report attached or on which the analysis was generally interrupted. Fix printing has_report and implement printing is_sink in the graph dumper.
Diff Detail
Event TimelineComment Actions I have removed that is_sink business because we have an actual graph, not just a huge painting, so you could mark whether it is sink by it has zero successors. I like the idea about refactoring that crazy code, thanks! This revision is now accepted and ready to land.Jul 2 2019, 4:15 PM Comment Actions Sink node is not the same thing as "zero successors". A sink node is a node in which termination was explictly requested as part of modeling, which is usually nice to know. A non-sink node may have no successors because it ran out of statements to execute (i.e., the analysis finishes successfully). P.S. I don't have many more plans on implementing more prints in the exploded-graph-rewriter. I have plans to implement different Explorers (which would only visit a part of the graph). You should now be unblocked to take a look at the SVG stuff that you had (but pls keep it at a lower priority than the immediate GSoC stuff). Comment Actions
Ah, of course, sorry.
Thanks for your huge amount of work! "Hold my beer." NoQ added inline comments.
Closed by commit rL364992: [analyzer] exploded-graph-rewriter: Implement bug nodes and sink nodes. (authored by NoQ). · Explain WhyJul 2 2019, 6:27 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 207690 cfe/trunk/lib/StaticAnalyzer/Core/ExprEngine.cpp
cfe/trunk/test/Analysis/dump_egraph.c
cfe/trunk/test/Analysis/exploded-graph-rewriter/checker_messages.dot
cfe/trunk/test/Analysis/exploded-graph-rewriter/checker_messages_diff.dot
cfe/trunk/test/Analysis/exploded-graph-rewriter/constraints.dot
cfe/trunk/test/Analysis/exploded-graph-rewriter/constraints_diff.dot
cfe/trunk/test/Analysis/exploded-graph-rewriter/edge.dot
cfe/trunk/test/Analysis/exploded-graph-rewriter/environment.dot
cfe/trunk/test/Analysis/exploded-graph-rewriter/environment_diff.dot
cfe/trunk/test/Analysis/exploded-graph-rewriter/node_labels.dot
cfe/trunk/test/Analysis/exploded-graph-rewriter/program_points.dot
cfe/trunk/test/Analysis/exploded-graph-rewriter/store.dot
cfe/trunk/test/Analysis/exploded-graph-rewriter/store_diff.dot
cfe/trunk/utils/analyzer/exploded-graph-rewriter.py
|