eprintid: 10082880 rev_number: 26 eprint_status: archive userid: 608 dir: disk0/10/08/28/80 datestamp: 2019-10-08 14:48:37 lastmod: 2021-10-11 22:45:45 status_changed: 2019-10-08 14:48:37 type: proceedings_section metadata_visibility: show creators_name: An, G creators_name: Blot, A creators_name: Petke, J creators_name: Yoo, S title: PyGGI 2.0: Language independent genetic improvement framework ispublished: pub divisions: UCL divisions: B04 divisions: C05 divisions: F48 keywords: Software and its engineering, Software creation and management, Search-based software engineering note: This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions. abstract: PyGGI is a research tool for Genetic Improvement (GI), that is designed to be versatile and easy to use. We present version 2.0 of PyGGI, the main feature of which is an XML-based intermediate program representation. It allows users to easily define GI operators and algorithms that can be reused with multiple target languages. Using the new version of PyGGI, we present two case studies. First, we conduct an Automated Program Repair (APR) experiment with the QuixBugs benchmark, one that contains defective programs in both Python and Java. Second, we replicate an existing work on runtime improvement through program specialisation for the MiniSAT satisfiability solver. PyGGI 2.0 was able to generate a patch for a bug not previously fixed by any APR tool. It was also able to achieve 14% runtime improvement in the case of MiniSAT. The presented results show the applicability and the expressiveness of the new version of PyGGI. A video of the tool demo is at: https://youtu.be/PxRUdlRDS40. date: 2019-08-12 date_type: published publisher: ACM official_url: https://dx.doi.org/10.1145/3338906.3341184 oa_status: green full_text_type: other language: eng primo: open primo_central: open_green verified: verified_manual elements_id: 1697703 doi: 10.1145/3338906.3341184 isbn_13: 978-1-4503-5572-8 language_elements: English lyricists_name: Blot, Aymeric lyricists_name: Petke, Justyna lyricists_id: ABLOT72 lyricists_id: JPETK66 actors_name: Petke, Justyna actors_id: JPETK66 actors_role: owner full_text_status: public publication: ESEC/FSE 2019 - Proceedings of the 2019 27th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering place_of_pub: New York (NY), USA pagerange: 1100-1104 event_title: The 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering 2019 event_location: Tallinn, Estonia event_dates: 26th-30th August 2019 book_title: Proceedings of the 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering 2019 citation: An, G; Blot, A; Petke, J; Yoo, S; (2019) PyGGI 2.0: Language independent genetic improvement framework. In: Proceedings of the 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering 2019. (pp. pp. 1100-1104). ACM: New York (NY), USA. Green open access document_url: https://discovery.ucl.ac.uk/id/eprint/10082880/7/Petke_PyGGI%202.0.%20Language%20independent%20genetic%20improvement%20framework_AAM.pdf