[PATCH] D22622: [analyzer] Add more info to exploded graph dumps

Artem Dergachev via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 21 03:43:18 PDT 2016


NoQ created this revision.
NoQ added reviewers: zaks.anna, dcoughlin.
NoQ added subscribers: xazax.hun, a.sidorin, cfe-commits.

`debug.ViewExplodedGraph`, aka `-analyzer-viz-egraph-graphviz`, is often the only way to understand the otherwise confusing analyzer report. Exploded graphs are often heavy (see also `-trim-egraph`) and hard to navigate (especially when using a specialized `.dot`-file viewer like `xdot` - i found it much more comfortable to convert the file to `.svg` and view in a web browser), and it often takes many hours to figure out what peculiar path has the analyzer found or what particular thing about the program he doesn't understand.

While it is clear that everybody's desire is to provide the information about reports to the user in a more friendly manner, i've made a quick patch that //adds an explanation of location contexts to the dumps//. Not only such info would help the developer understand what location context is (it's far from obvious), but also i find it extremely convenient to quickly understand //"what are we analyzing here"// by looking at any node of the graph, which simplifies navigation dramatically for me.

Perhaps we could add more useful info? I'm also thinking of simplifying store and environment dumps for easier reading and less size, eg. mention every cluster or location context only once rather than on every line.

This patch removes some of the surrounding dead code, because the FIXMEs have already been addressed by introducing checker name tags and visitors.

https://reviews.llvm.org/D22622

Files:
  lib/StaticAnalyzer/Core/ExprEngine.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22622.64852.patch
Type: text/x-patch
Size: 4707 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160721/fa6d0a6f/attachment.bin>


More information about the cfe-commits mailing list