How can I find the callbacks for the topics of the source code?

asked 2015-11-18 12:21:06 -0600

Maria gravatar image

updated 2015-11-18 16:28:58 -0600

I am trying develop a new testing method for robotic applications. The first idea is to conduct static analysis from source code for map the communication by topics (publications and callbacks). This analysis is executed before of the compile time. The purpose is obtain from this map test data that will be used during the execution. So, I need of a better form of identify the callbacks of each topic in the source code. I am working with C++ and Python languages. Can someone help me?

edit retag flag offensive close merge delete

Comments

could you go into more detail? Do you want know where the callbacks are defined/declared in the source code? Or do you want locations in the binaries? Or just the name of the callback? C++ or Python? At runtime or at compile time?

Perhaps you could talk a bit more about what you want to accomplish.

Dimitri Schachmann gravatar imageDimitri Schachmann ( 2015-11-18 13:19:09 -0600 )edit

Hi, I need map the publications and callbacks from the topics of an application. So I need of a better form of know where the callbacks are defined in the source code. I am working with C++ and Python languages.

Maria gravatar imageMaria ( 2015-11-18 14:19:43 -0600 )edit

I still do not understand what you want to do. Do you want to do this at runtime or at compile time? I recommend that you briefly describe how that would play into the new testing method (by editing your original question)

Dimitri Schachmann gravatar imageDimitri Schachmann ( 2015-11-18 15:42:40 -0600 )edit

Thank you. That made things more clear. What I can tell you, is that this has nothing to do with ros per se. Since subscription and advertising happens at runtime, you can not determine this mapping from static code analysis. Can you make any assumptions about the code of the node? Can you edit it?

Dimitri Schachmann gravatar imageDimitri Schachmann ( 2015-11-19 05:56:07 -0600 )edit