Specialising Software for Different Downstream Applications Using Genetic Improvement and Code Transplantation
2017; IEEE Computer Society; Volume: 44; Issue: 6 Linguagem: Inglês
10.1109/tse.2017.2702606
ISSN2326-3881
AutoresJustyna Petke, Mark Harman, William B. Langdon, Westley Weimer,
Tópico(s)Advanced Malware Detection Techniques
ResumoGenetic improvement uses automated search to find improved versions of existing software. Genetic improvement has previously been concerned with improving a system with respect to all possible usage scenarios. In this paper, we show how genetic improvement can also be used to achieve specialisation to a specific set of usage scenarios. We use genetic improvement to evolve faster versions of a C++ program, a Boolean satisfiability solver called MiniSAT, specialising it for three different applications, each with their own characteristics. Our specialised solvers achieve between 4 and 36 percent execution time improvement, which is commensurate with efficiency gains achievable using human expert optimisation for the general solver. We also use genetic improvement to evolve faster versions of an image processing tool called ImageMagick, utilising code from GraphicsMagick, another image processing tool which was forked from it. We specialise the format conversion functionality to greyscale images and colour images only. Our specialised versions achieve up to 3 percent execution time improvement.
Referência(s)