Per rules of ordinary (non-technical) English, execute is a transitive verb. So, something/someone has to execute something/someone. For example:
The government is executing a new survey.
From the perspective of linguistic style, you would use "execute" as follows:
Your program is not being executed.
Your program is not executing this line of code.
Run has multiple meanings and this one in particular can be used both transitively and intransitively:
[ I or T ] (of people and some animals) to move along, faster than walking, by taking quick steps in which each foot is lifted before the next foot touches the ground:
(from Cambridge Dictionary)
This allows you to write either of these sentences:
Your program is not running.
Your program is not being run.
If we look at the world of software development and the technical language in use, however, it's a very different picture. Use of "execute" intransitively, as in your example, is widespread. "Is not running" and "is not executing" would be considered equivalent and both are widely prevalent in daily use.