Isn't this just the Halting problem? No software has the property of being "determinate".
#include <iostream>
int main() {
std::cout << "Hello world";
return 0;
}
Seems like you can determine for some programs what they will do.