I'm new to this list and I just obtained CIL. For our research which
uses compositional reasoning, we need a tool to extract out each
function individually from a C program (including global declarations
like variables, structs and typedefs) and analyze it.
CIL's doepicenter feature seems precisely fit for that purpose. A
quick recap of its description:
--doepicenter Enable remove all functions except those within some number
of hops (in the call graph) from a given function
--epicenter-name <name> do an epicenter slice starting from function <name>
--epicenter-hops <n> specify max # of hops for epicenter slice
Using these options, I can extract functions from a program one by
one by providing the function name and setting hops to 0.
But I'm not able to get the option to work. Regardless of the name or
the #of hops that I provide, CIL just removes ALL functions/global
declarations in the output! I also tried giving --docallgraph to see if it
affects it, but to no avail. Moreover, I was not able to find any sort of
documentation on this feature.
Any help would be greatly appreciated. Thank you!
PhD student & Research Assistant (under: Dr. Joxan Jaffar)
National University of Singapore