On Tue, 23 Apr 2019 at 10:36, Martin Ward <[email protected]> wrote:

> (Note that the thoretical problem of determining whether a particular
> program is self-modifying or not is, like the Halting Problem,
> non-computable. But in practice, all examples of self-modifying code
> we have encountered can be detected and translated.)
>

Very interesting. The Halting Problem and its nifty proof of
non-computability is something everyone learns in the first CompSci course,
but I have never given computability of self-modification any thought. Is
there a similar nifty proof for this one? Surely the problem is
fundamentally architecture and/or language specific. Many languages and
indeed some architectures simply do not allow self modification.

I suppose at a high level one could consider generating code during
execution to be self modification (of the program as a whole), and then it
begins to sound familiar...

Tony H.

Reply via email to