Open jhunterh opened 3 months ago
I concur. This would be great. I found an article that shows how this could be done: https://ddanilov.me/dockerized-cpp-build
This one might be more complex than I initially thought. The complexity comes from getting the user program and all of its dependencies into the container as well as the pintool. The user might have to define a custom Dockerfile for every program they want to analyze and that doesn't seem like a very usable system. Will keep looking for different ways to make this happen.
It could end up just being a bash script that installs all the correct dependencies or checks if they are present, which would be good enough for the project scope.
I think my first though was a container that automatically ran the pin tool, but another approach could be a container that is basically just a linux environment with the pintool installed in the proper place. The user would have to copy all of their executables and dependencies into the running container but it would still be more portable than the current setup. I'm still new to container development so there might be a better way to do this. Might make this a stretch goal.
Currently, the DataGenerator can only be run on the Gauss machine. Need to investigate if it is feasible to create a portable version of the DataGenerator (containerization?). If it is feasible, then an implementation must be done.