Find which functions will be affected when some functions are refactored

I have to refactor some functions in lib/my_proj/utils.ex recently in my job.

And I have another functions which handle the websocket events in lib/my_proj_web/channels/room.ex.

I wonder how can I know every function in lib/my_proj/utils.ex I refactor will affect which functions in lib/my_proj_web/channels/room.ex, so I can tell the QA team to test those functions.

In other words, I wonder which functions in lib/my_proj_web/channels/room.ex may call the functions I want to refactor in lib/my_proj/utils.ex when executing.

Can I print a call tree for each functions in lib/my_proj_web/channels/room.ex so I can analyze the relationship of these functions? Or Is there an alternative approach to achieve the goal?

Check out mix xref — Mix v1.15.4.

3 Likes