Ist es möglich, ein Programm zu entwickeln, das seinen Quellcode unabhängig verändern kann?
Das ist kein Problem und wäre umsetzbar. Die Frage ist nur, ob das, was dabei herauskommt irgendeinen Sinn ergibt. Zu definieren wäre, wieso die Software das tun sollte. Man könnte beispielsweise die Software so programmieren, dass bei bestimmten Aktionen des Anwenders bestimmte Teile des Quellcodes geändert werden. Wie gesagt: die Sinnhaftigkeit ist anzuzweifeln, weil das am Ende immer noch eine simple Abfolge von vordefinierten Befehlen ist. Insofern besteht auch eine Abhängigkeit zum ursprünglichen Programmierer, der das "damals" so programmiert hat, wie es ggf. irgendwann in der Zukunt mal "passieren" wird.
Wenn es allerdings darum geht, dass Software eine sinnvoll einsetzbare Software entwickelt (oder sich selbst neue Features/Funktionen hinzufügt), die besser ist als sie selbst bzw. etwas Anderes kann, ist das eine ganz andere Frage. Aktuell ist das noch nicht möglich, aber Unternehmen wie Google arbeiten an einer KI, welche das können/lernen soll.
Ich persönlich halte es für unwahrscheinlich, dass eine KI selbstständig/unabhängig eine Software entwickeln kann, die etwas anderes kann als sie selbst. Es sei denn, sie wäre sich ihrer selbst bewusst und in der Lage, uneingeschränkt kreativ zu denken (wie ein Mensch). Dass es möglich ist, eine solche KI zu entwickeln, wird allgemein angezweifelt, auch wenn die Leute aus dem Silicon Valley einem das versprechen. Wenn es möglich ist, sollte man sich sehr gut überlegen, ob man das will!