title = "{PyGGI 2.0}: Language Independent Genetic Improvement
Framework",
booktitle = "Proceedings of the 27th Joint Meeting on European
Software Engineering Conference and Symposium on the
Foundations of Software Engineering {ESEC/FSE} 2019)",
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 14percent
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",