problem with using DSA for a side-effect analysis


I am using DSA in the project I am working on. Currently, I am working
on automatic inference of function frame conditions to be used in the
modular verification tool for C I am developing. Here is a part of my
algorithm I am not exactly sure how to do:

Let's say function foo calls function bar, and they have corresponding
DSGraphs DSG_foo and DSG_bar.
Function bar modifies some memory locations that correspond to a set
of DS nodes M from DSG_bar. I would like to map this set M onto the
corresponding nodes (if they exist) in the DSG_foo, i.e. I would like
to find out which nodes in the DSG_foo are potentially modified by a
call to bar.

Currently I am using DSGraph::computeNodeMapping to do the task, but I
am not sure if that's the way to go....

Any suggestions would be greatly appreciated!


I believe that is the correct function to use.


Andrew, there used to be some code to compute the ModRef behavior of functions using DS graphs. Does that code still exist in svn? What Zvonimir is asking is essentially that, although perhaps he needs it as DS nodes explicitly rather than via the generic queries in the AliasAnalysis interface.


The ModRef info is directly available through the alias analysis dsa
client, and certainly easier to use.