Genetic programming and code evolution

=?ISO-8859-1?Q?Ga=EBl_Rosset?= <gael@tele2adsl.dk>
23 Dec 2005 20:54:18 -0500

          From comp.compilers

Related articles
Genetic programming and code evolution gael@tele2adsl.dk (=?ISO-8859-1?Q?Ga=EBl_Rosset?=) (2005-12-23)
Re: Genetic programming and code evolution mailbox@dmitry-kazakov.de (Dmitry A. Kazakov) (2005-12-24)
Re: Genetic programming and code evolution henry@spsystems.net (2005-12-24)
| List of all articles for this month |
From: =?ISO-8859-1?Q?Ga=EBl_Rosset?= <gael@tele2adsl.dk>
Newsgroups: comp.compilers
Date: 23 Dec 2005 20:54:18 -0500
Organization: Tele2 Internet Kunde
Keywords: question
Posted-Date: 23 Dec 2005 20:54:18 EST

Hello All,


I would like to create a genetic algorithm to modify C/C++ and improve
it for either speed or space or a combination of both.


This would be quite similar to the tool called Critticall, see
http://www.critticall.com/
Unfortunately Critticall is some kind of shareware and there is no
academic background to it (at least none that I could find).


The process I want to do is :


1)
Compile the C / C++ to a simple instruction tree, maybe to some kind of
SSA form resulting in a tree like this :
http://upload.wikimedia.org/wikipedia/en/8/84/SSA_example1.3.png


2) Genetically modify the code by introducing changes to the tree.


3) Transform back to C/C++ code


I do not intend to do this on large complex programs but first on time
critical functions for example.


So here are my questions :


q1) Do you know of any educational/free/open compiler which can compile
to a intermediate code which can easily be represented in a tree
structure and be modified by a genetic algorithm ?


q2) Do you know of any academic work attempting to do this. I.e. take
some C/C++ code evolve it and put it back as C/C++. There is lots of
work based on lips instructions evolution or on hardware and logical
circuits but I can't find any work starting from a sequence of C/C++ code ?




Thank you for your help.
Best Regards,
Gaël


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.