in short: I need to get a list of methods of our database API which are actually called and used within our code base.
longer: We have a quite big code base which is based on a (ugly) database API. The latter has a lot of interfaces and quite a big set of functionality which we don't need at all and we want to get rid of it. A first prototype of the rewrite should be one hundred compatible with the existing API code -- therefore should implement it's interfaces to make it easy having it built against our production code.
To define the subset of methods we use I could do some coverage analysis with dotCover or something else and run our unit tests but I'm quite sure that this would only yield a 80 to 90 percent success rate. What I need is more like a static analysis of our code. Another approach could be a dynamic wrapper for the api which logs every method call to have a decent coverage analysis after some usage.
I was curious if such an analysis could be done with a tool or if I should wrap the API to get the required informations (manually/automatically? It's really big, some hundreds or thousand methods).
Just to mention it: I have complete access to all sources, but they're distribution among a lot of modules with their own solutions.