Open-Ended Automatic Programming Through Combinatorial Evolution
Sebastian Fix, Thomas Probst, Oliver Ruggli, Thomas Hanne, and Patrik, Christen

TL;DR
This paper explores open-ended automatic programming using combinatorial evolution, where code blocks are combined and evolved to create increasingly complex software structures, potentially enabling continuous innovation beyond traditional solutions.
Contribution
It demonstrates that combinatorial evolution can be applied to software development, leading to ongoing complexity growth and novel code generation methods.
Findings
Code complexity increased from simple keywords to complex classes.
Reserved keywords and placeholders effectively facilitate code combination.
Complexity correlates with the importance of code elements in programming language.
Abstract
Combinatorial evolution - the creation of new things through the combination of existing things - can be a powerful way to evolve rather than design technical objects such as electronic circuits. Intriguingly, this seems to be an ongoing and thus open-ended process creating novelty with increasing complexity. Here, we employ combinatorial evolution in software development. While current approaches such as genetic programming are efficient in solving particular problems, they all converge towards a solution and do not create anything new anymore afterwards. Combinatorial evolution of complex systems such as languages and technology are considered open-ended. Therefore, open-ended automatic programming might be possible through combinatorial evolution. We implemented a computer program simulating combinatorial evolution of code blocks stored in a database to make them available for…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsEvolutionary Algorithms and Applications · Computability, Logic, AI Algorithms · Metaheuristic Optimization Algorithms Research
