Phase III: Scouting
Last week Mike and I were statically analyzing python code to detect and graph all function calls, highlighting calls to the libraries we want to upgrade. We worked out how to wrap a function call in their code such that we can see the inputs and outputs while leaving the function itself alone. To do this we needed to write a launcher that runs their code and instantiates the wrapper at the same time. We figured out how to take those inputs and outputs and plug them into a function that writes unit test scripts. This put out a slew of nose unit tests, one test for every time the function got used during the run of their code. We verified that the unit tests can work with simple data structures.
Our goal this week was to better determine the scope of the job, dig deeper into the complexities of the data and the code we were dealing with, and start wrapping up some loose ends in readiness for a demonstration of the progress we’ve made so far.