@InProceedings(Licorish:2022:GI, %wksp129s2-file1.pdf author = {Sherlock A. Licorish and Markus Wagner}, title = {Dissecting Copy/Delete/Replace/Swap mutations: Insights from a GIN Case Study}, booktitle = {GI @ GECCO 2022}, year = {2022}, editor = {Bobby R. Bruce and Vesna Nowack and Aymeric Blot and Emily Winter and W. B. Langdon and Justyna Petke}, pages = {}, address = {Boston, USA}, publisher_address = {New York, NY, USA}, month = {}, organisation = {SIGEVO}, publisher = {Association for Computing Machinery}, note = {}, keywords = {genetic algorithms, genetic programming, genetic improvement, Automated static analysis, SBSE, Search-based software engineering}, ISBN13 = {978-1-4503-9268-6/22/07}, url = {}, doi = {doi:10.1145/3520304.3533970}, slides_url = {}, code_url = {}, video_url = {}, size = {6 pages}, abstract = {Research studies are increasingly critical of publicly available code due to evidence of faults. This has led researchers to explore ways to improve such code, with static analysis and genetic code improvement previously singled out. Previous work has evaluated the feasibility of these techniques, using PMD and GIN for enhancing Stack Overflow code snippets. Results reported in this regard pointed to the potential of these techniques, especially in terms of GIN removal of PMD performance faults from 58 programs. We use a contextual lens to explore these mutations in this study, to evaluate the promise of these techniques. The outcomes show that while the programs were syntactically correct after GIN mutations, many of GIN mutations changed the semantics of the code, rendering its purpose questionable. However, certain code mutations tend to retain code semantics more than others. In addition, GINs mutations at times affected PMDs parsing ability, potentially increasing false negatives. Overall, while these approaches may prove useful, full utility may not be claimed at this time. For enhancing the outcomes of these approaches, we outline multiple strategies.}, notes = { http://geneticimprovementofsoftware.com/events/gecco2022 %Also known as \cite{} GECCO-2022 A Recombination of the 31st International Conference on Genetic Algorithms (ICGA) and the 27th Annual Genetic Programming Conference (GP)}, %gismo ) @InProceedings(Anderson:2022:GI, %wksp138s2-file1.pdf author = {Damien Anderson and Paul Harvey and Yusaku Kaneta and Petros Papadopoulos and Philip Rodgers and Marc Roper}, title = {Towards evolution-based autonomy in large-scale systems}, booktitle = {GI @ GECCO 2022}, year = {2022}, editor = {Bobby R. Bruce and Vesna Nowack and Aymeric Blot and Emily Winter and W. B. Langdon and Justyna Petke}, pages = {}, address = {Boston, USA}, publisher_address = {New York, NY, USA}, month = {}, organisation = {SIGEVO}, publisher = {Association for Computing Machinery}, note = {}, keywords = {genetic algorithms, genetic programming, genetic improvement}, ISBN13 = {978-1-4503-9268-6/22/07}, url = {}, doi = {doi:10.1145/3520304.3533975}, slides_url = {}, code_url = {}, video_url = {}, size = {2 pages}, abstract = {To achieve truly autonomous behaviour systems need to adapt to not only previously unseen circumstances but also previously unimagined ones. A hierarchical evolutionary system is proposed which is capable of displaying the emergent behaviour necessary to achieve this goal. This paper reports on the practical challenges encountered in implementing this proposed approach in a large-scale open-source system.}, notes = { http://geneticimprovementofsoftware.com/events/gecco2022 %Also known as \cite{} GECCO-2022 A Recombination of the 31st International Conference on Genetic Algorithms (ICGA) and the 27th Annual Genetic Programming Conference (GP)}, %gismo ) @InProceedings(Zhang:2022:GI, %wksp161s2-file1.pdf author = {Yueke Zhang and Yu Huang}, title = {Leveraging Fuzzy System to Reduce Uncertainty of Decision Making in Software Engineering Automation}, booktitle = {GI @ GECCO 2022}, year = {2022}, editor = {Bobby R. Bruce and Vesna Nowack and Aymeric Blot and Emily Winter and W. B. Langdon and Justyna Petke}, pages = {}, address = {Boston, USA}, publisher_address = {New York, NY, USA}, month = {}, organisation = {SIGEVO}, publisher = {Association for Computing Machinery}, note = {}, keywords = {genetic algorithms, genetic programming, genetic improvement, decision making, uncertainty, fuzzy system, SE automation}, ISBN13 = {978-1-4503-9268-6/22/07}, url = {}, doi = {doi:10.1145/3520304.3533991}, slides_url = {}, code_url = {}, video_url = {}, size = {2 pages}, abstract = {Decision making in automated GI-based software engineering tasks can significantly affect the performance of the system. However, modern SE usually presents high uncertainty in such decision making process due to the existence of multiple solutions that reply on different heuristics. We propose to apply the theory of Fuzzy System to obtain a final decision with lower uncertainty and higher accuracy. We also demonstrate a motivating example and discuss the challenges and opportunities for applying fuzzy system to SE tasks.}, notes = { http://geneticimprovementofsoftware.com/events/gecco2022 %Also known as \cite{} GECCO-2022 A Recombination of the 31st International Conference on Genetic Algorithms (ICGA) and the 27th Annual Genetic Programming Conference (GP)}, %gismo ) @InProceedings(Li:2022:GI, %wksp172s2-file1.pdf author = {Shuyue Stella Li and Hannah Peeler and Andrew N. Sloss and Kenneth N. Reid and Wolfgang Banzhaf}, title = {Genetic Improvement in the Shackleton Framework for Optimizing LLVM Pass Sequences}, booktitle = {GI @ GECCO 2022}, year = {2022}, editor = {Bobby R. Bruce and Vesna Nowack and Aymeric Blot and Emily Winter and W. B. Langdon and Justyna Petke}, pages = {}, address = {Boston, USA}, publisher_address = {New York, NY, USA}, month = {}, organisation = {SIGEVO}, publisher = {Association for Computing Machinery}, note = {}, keywords = {genetic algorithms, genetic programming, genetic improvement, Compilers, Evolutionary Algorithms, Compiler Optimization, Parameter Tuning, Metaheuristics}, ISBN13 = {978-1-4503-9268-6/22/07}, url = {}, doi = {doi:10.1145/3520304.3534000}, slides_url = {}, code_url = {}, video_url = {}, size = {2 pages}, abstract = {Genetic Improvement is a search technique that aims to improve a given acceptable solution to a problem. In this paper, we present the novel use of genetic improvement to find problem-specific optimized LLVM Pass sequences. We develop a Pass-level edit representation in the linear genetic programming framework, Shackleton, to evolve the modifications to be applied to the default optimization Pass sequences. Our GI-evolved solution has a mean of 3.7percent runtime improvement compared to the default LLVM optimisation level -O3 which targets runtime. The proposed GI method provides an automatic way to find a problem-specific optimization sequence that improves upon a general solution without any expert domain knowledge. In this paper, we discuss the advantages and limitations of the GI feature in the Shackleton Framework and present our results.}, notes = { http://geneticimprovementofsoftware.com/events/gecco2022 %Also known as \cite{} GECCO-2022 A Recombination of the 31st International Conference on Genetic Algorithms (ICGA) and the 27th Annual Genetic Programming Conference (GP)}, %gismo ) @InProceedings(Zuo:2022:GI, %wksp176s2-file1.pdf author = {Shengjie Zuo and Aymeric Blot and Justyna Petke}, title = {Evaluation of Genetic Improvement Tools for Improvement of Non-functional Properties of Software}, booktitle = {GI @ GECCO 2022}, year = {2022}, editor = {Bobby R. Bruce and Vesna Nowack and Aymeric Blot and Emily Winter and W. B. Langdon and Justyna Petke}, pages = {}, address = {Boston, USA}, publisher_address = {New York, NY, USA}, month = {}, organisation = {SIGEVO}, publisher = {Association for Computing Machinery}, note = {}, keywords = {genetic algorithms, genetic programming, genetic improvement, survey, tooling, non-functional properties}, ISBN13 = {978-1-4503-9268-6/22/07}, url = {}, doi = {doi:10.1145/3520304.3534004}, slides_url = {}, code_url = {}, video_url = {}, size = {10 pages}, abstract = {Genetic improvement (GI) improves both functional properties of software, such as bug repair, and non-functional properties, such as execution time, energy consumption, or source code size. There are studies summarising and comparing GI tools for improving functional properties of software; however there is no such study for improvement of its non-functional properties using GI. Therefore, this research aims to survey and report on the existing GI tools for improvement of non-functional properties of software. We conducted a literature review of available GI tools, and ran multiple experiments on the found open-source tools to examine their usability. We applied a cross-testing strategy to check whether the available tools can work on different programs. Overall, we found 63 GI papers that use a GI tool to improve non-functional properties of software, within which 31 are accompanied with open-source code. We were able to successfully run nine GI tools, and found that ultimately only two, Gin and PyGGI, can be readily applied to new general software.}, notes = { http://geneticimprovementofsoftware.com/events/gecco2022 %Also known as \cite{} GECCO-2022 A Recombination of the 31st International Conference on Genetic Algorithms (ICGA) and the 27th Annual Genetic Programming Conference (GP)}, %gismo ) @InProceedings(Krauss:2022:GI, %wksp189s2-file1.pdf author = {Oliver Krauss}, title = {Amaru - A Framework for combining Genetic Improvement with Pattern Mining}, booktitle = {GI @ GECCO 2022}, year = {2022}, editor = {Bobby R. Bruce and Vesna Nowack and Aymeric Blot and Emily Winter and W. B. Langdon and Justyna Petke}, pages = {}, address = {Boston, USA}, publisher_address = {New York, NY, USA}, month = {}, organisation = {SIGEVO}, publisher = {Association for Computing Machinery}, note = {}, keywords = {genetic algorithms, genetic programming, genetic improvement, Compiler, Interpreter, Framework}, ISBN13 = {978-1-4503-9268-6/22/07}, url = {}, doi = {doi:10.1145/3520304.3534016}, slides_url = {}, code_url = {}, video_url = {}, size = {8 pages}, abstract = {We present Amaru, a framework for Genetic Improvement using Abstract Syntax Trees directly at the interpreter and compiler level. Amaru also enables the mining of frequent, discriminative patterns from Genetic Improvement populations. These patterns in turn can be used to improve the crossover and mutation operators to increase population diversity, reduce the number of individuals failing at run-time and increasing the amount of successful individuals.}, notes = { http://geneticimprovementofsoftware.com/events/gecco2022 %Also known as \cite{} GECCO-2022 A Recombination of the 31st International Conference on Genetic Algorithms (ICGA) and the 27th Annual Genetic Programming Conference (GP)}, %gismo ) @InProceedings(Bruce:2022:GI, %wksp194s2-file1.pdf author = {Bobby R. Bruce}, title = {Automatically Exploring Computer System Design Spaces}, booktitle = {GI @ GECCO 2022}, year = {2022}, editor = {Bobby R. Bruce and Vesna Nowack and Aymeric Blot and Emily Winter and W. B. Langdon and Justyna Petke}, pages = {}, address = {Boston, USA}, publisher_address = {New York, NY, USA}, month = {}, organisation = {SIGEVO}, publisher = {Association for Computing Machinery}, note = {}, keywords = {genetic algorithms, genetic programming, genetic improvement, SBSE, search, computer architecture}, ISBN13 = {978-1-4503-9268-6/22/07}, url = {}, doi = {doi:10.1145/3520304.3534021}, slides_url = {}, code_url = {}, video_url = {}, size = {2 pages}, abstract = {While much research has focused on using search to optimize software, it is possible to use these same approaches to optimise other parts of the computer system. With decreased costs in silicon customisation, and the return of centralized systems carrying out specialized tasks, the time is right to begin thinking about tools to optimize systems for the needs of specific software targets. In the approach outlined, the standard Genetic Improvement process is flipped with source code considered static and the remainder of the computer system altered to the needs of the software. The project proposed is preliminary research into incorporating grammar-based GP with an advanced computer architecture simulator to automatically design computer systems. I argue this approach has the potential to significantly improve the design of computer systems while reducing manual effort.}, notes = { http://geneticimprovementofsoftware.com/events/gecco2022 %Also known as \cite{} GECCO-2022 A Recombination of the 31st International Conference on Genetic Algorithms (ICGA) and the 27th Annual Genetic Programming Conference (GP)}, %gismo ) @InProceedings(Zhong:2022:GI, %wksp211s2-file1.pdf author = {James Zhong and Max Hort and Federica Sarro}, title = {{Py2Cy}: A Genetic Improvement Tool To Speed Up Python}, booktitle = {GI @ GECCO 2022}, year = {2022}, editor = {Bobby R. Bruce and Vesna Nowack and Aymeric Blot and Emily Winter and W. B. Langdon and Justyna Petke}, pages = {}, address = {Boston, USA}, publisher_address = {New York, NY, USA}, month = {}, organisation = {SIGEVO}, publisher = {Association for Computing Machinery}, note = {}, keywords = {genetic algorithms, genetic programming, genetic improvement, Optimization algorithms, Python, Performance, Execution Time}, ISBN13 = {978-1-4503-9268-6/22/07}, url = {}, doi = {doi:10.1145/3520304.3534037}, slides_url = {}, code_url = {}, video_url = {}, size = {6 pages}, abstract = {Due to it its ease of use and wide range of custom libraries, Python has quickly gained popularity and is nowadays used by a wide range of developers all over the world. While Python allows for fast writing of source code, the resulting programs are slow to execute when compared to programs written in other programming languages like C. One of the reasons for its slow execution time is the dynamic typing of variables. Cython is an extension to Python, which can achieve execution speed-ups by compiler optimization. One possibility for improvements is the use of static typing, which can be added to Python scripts by developers. To alleviate the need for manual effort, we create Py2Cy, a Genetic Improvement tool for automatically converting Python scripts to statically typed Cython scripts. To show the feasibility of improving runtime with Py2Cy, we optimize a Python script for generating Fibonacci numbers. The results show that Py2Cy is able to speed up the execution time by up to a factor of 9.}, notes = { http://geneticimprovementofsoftware.com/events/gecco2022 %Also known as \cite{} GECCO-2022 A Recombination of the 31st International Conference on Genetic Algorithms (ICGA) and the 27th Annual Genetic Programming Conference (GP)}, %gismo ) @InProceedings(AlNajar:2022:GI, %wksp194s2-file1.pdf %wksp217s2-file2.pdf author = {Mahmoud {Al Najar} and Rafael Almar and Erwin W. J. Bergsma and Jean-Marc Delvit and Dennis G. Wilson}, title = {Genetic Improvement of Shoreline Evolution Forecasting Models}, booktitle = {GI @ GECCO 2022}, year = {2022}, editor = {Bobby R. Bruce and Vesna Nowack and Aymeric Blot and Emily Winter and W. B. Langdon and Justyna Petke}, pages = {}, address = {Boston, USA}, publisher_address = {New York, NY, USA}, month = {}, organisation = {SIGEVO}, publisher = {Association for Computing Machinery}, note = {}, keywords = {genetic algorithms, genetic programming, genetic improvement, Cartesian Genetic Programming, symbolic regression, forecasting, shoreline evolution}, ISBN13 = {978-1-4503-9268-6/22/07}, url = {}, doi = {doi:10.1145/3520304.3534041}, slides_url = {}, code_url = {}, video_url = {}, size = {8+1 pages}, abstract = {Coastal development and climate change are changing the geography of our coasts, while more and more people are moving towards the coasts. Recent advances in artificial intelligence allow for automatic analysis of observational data. Cartesian Genetic Programming (CGP) is a form of Genetic Programming (GP) that has been successfully used in a large variety of tasks including data-driven symbolic regression. We formulate the problem of shoreline evolution forecasting as a Genetic Improvement (GI) problem using CGP to encode and improve upon ShoreFor, an equilibrium shoreline prediction model, to study the effectiveness of CGP in GI in forecasting tasks. This work presents an empirical study of the sensitivity of CGP to a number of evolutionary configurations and constraints and compares the performances of the evolved models to the base ShoreFor model.}, notes = {Supplementary Material: Figure 8: Example evolved CGP-ShoreFor model graphs http://geneticimprovementofsoftware.com/events/gecco2022 %Also known as \cite{} GECCO-2022 A Recombination of the 31st International Conference on Genetic Algorithms (ICGA) and the 27th Annual Genetic Programming Conference (GP)}, %gismo ) @InProceedings(Murphy:2022:GI, %wksp219s2-file1.pdf author = {Aidan Murphy and Thomas Laurent and Anthony Ventresque}, title = {The case for Grammatical Evolution in test generation}, booktitle = {GI @ GECCO 2022}, year = {2022}, editor = {Bobby R. Bruce and Vesna Nowack and Aymeric Blot and Emily Winter and W. B. Langdon and Justyna Petke}, pages = {}, address = {Boston, USA}, publisher_address = {New York, NY, USA}, month = {}, organisation = {SIGEVO}, publisher = {Association for Computing Machinery}, note = {}, keywords = {genetic algorithms, genetic programming, genetic improvement, Grammatical Evolution, SBSE, Software testing and debugging, Automatic Test Generation, Search Based Software Testing}, ISBN13 = {978-1-4503-9268-6/22/07}, url = {}, doi = {doi:10.1145/3520304.3534042}, slides_url = {}, code_url = {}, video_url = {}, size = {2 pages}, abstract = {Generating tests for software is an important, but difficult, task. Search-based test generation is promising, as it reduces the time required from human experts, but suffers from many problems and limitations. Namely, the inability to fully incorporate a testers domain knowledge into the search, its difficulty in creating very complex objects, and the problems associated with variable length tests. This paper illustrates how Grammatical Evolution could address and provide a possible solution to each of these concerns.}, notes = { http://geneticimprovementofsoftware.com/events/gecco2022 %Also known as \cite{} GECCO-2022 A Recombination of the 31st International Conference on Genetic Algorithms (ICGA) and the 27th Annual Genetic Programming Conference (GP)}, %gismo ) @InProceedings(Chuengsatiansup:2022:GI, %wksp230s2-file1.pdf author = {Chitchanok Chuengsatiansup and Markus Wagner and Yuval Yarom}, title = {Opportunities for Genetic Improvement of Cryptographic Code}, booktitle = {GI @ GECCO 2022}, year = {2022}, editor = {Bobby R. Bruce and Vesna Nowack and Aymeric Blot and Emily Winter and W. B. Langdon and Justyna Petke}, pages = {}, address = {Boston, USA}, publisher_address = {New York, NY, USA}, month = {}, organisation = {SIGEVO}, publisher = {Association for Computing Machinery}, note = {}, keywords = {genetic algorithms, genetic programming, genetic improvement}, ISBN13 = {978-1-4503-9268-6/22/07}, url = {}, doi = {doi:10.1145/3520304.3534049}, slides_url = {}, code_url = {}, video_url = {}, size = {2 pages}, abstract = {Cryptography is one of the main tools underlying the security of our connected world. Cryptographic code must meet not only high security requirements, but also exhibit excellent non-functional properties, such as high performance and unique security requirements. As both automatic code generation and genetic improvement of such code are under explored, we motivate here what makes cryptographic code a prime target for future research.}, notes = { http://geneticimprovementofsoftware.com/events/gecco2022 %Also known as \cite{} GECCO-2022 A Recombination of the 31st International Conference on Genetic Algorithms (ICGA) and the 27th Annual Genetic Programming Conference (GP)}, %gismo )