-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfaq.html
91 lines (70 loc) · 7.29 KB
/
faq.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
---
layout: page
title: "FAQ"
perma: /faq/
---
<h2>What is Genetic Improvement?</h2>
Genetic Improvement is the application of evolutionary and search-based optimisation methods to the improvement of existing software. For example, it may be used to automate the process of bug-fixing or execution time optimisation.
<h2>What is a GI Workshop?</h2>
As academics in the field, we run the workshop to offer an opportunity for researchers to disseminate work, but most importantly to meet and discuss with other GI researchers. So far we had 7 editions of the workshop, five co-located with GECCO (in 2015, 2016, 2017, 2018, and 2019) and two with ICSE (in 2018 and 2019).
Since 2009 there have been four human competitive awards for work in GI (two Gold, one Silver and one Bronze) presented at GECCO and three best papers, including at the International Conference on Software Engineering and International Symposium on Software Testing and Analysis.
<h2>How can I find out more?</h2>
Check out this <a href="http://blog.ieeesoftware.org/2016/02/genetic-improvement.html?platform=hootsuite">blog article</a> about GI on the IEEE Software Blog, see recent <a href="http://ieeexplore.ieee.org/document/7911210/?reload=true">survey</a>, GI <a href="https://link.springer.com/journal/10710/18/1/">special issue, </a> and an Open PhD<a href="http://phdopen.mimuw.edu.pl/index.php?page=z15w1"> tutorial</a>.
In June 2016 there was a talk on GI at the International Summer School on Software Engineering, given by Professor Mark Harman (UCL), one of the foremost experts on GI and an international leader in search-based software engineering.
In January 2016 there was a CREST Open Workshop at UCL on Genetic Improvement. <a href="http://crest.cs.ucl.ac.uk/cow/45/">Full details of the talks and speakers are available</a>. A <a href="http://crest.cs.ucl.ac.uk/cow/50/">second workshop</a> took place in January 2017.
There was be a <a href="https://www.dagstuhl.de/en/program/calendar/semhp/?semnr=18052">Dagstuhl Seminar on GI</a> at the end of January 2018.
Proceedings of GI 2015 can be found in <a href="https://dl.acm.org/citation.cfm?id=2739482">GECCO'15 Companion</a>. Proceedings of GI 2016 can be found in <a href="http://dl.acm.org/citation.cfm?doid=2908961.2931686">GECCO'16 Companion</a>. Proceedings of GI 2017 can be found in <a href="http://dblp.org/db/conf/gecco/gecco2017c">GECCO'17 Companion</a>.
Also, try <a href="https://en.wikipedia.org/wiki/Genetic_improvement_%28computer_science%29">Wikipedia</a>.
<h2>What are some examples of GI Frameworks?</h2>
<span class="col-11 text-gray-dark mr-2"><a href="https://github.com/gintool/gin">Gin</a>: GI in No Time - a Simple Microframework for Genetic Improvement </span>
"The goal of <a href="https://github.com/gintool/gin">Gin</a> is to stimulate development in GI tooling, and to lower the barrier to experimenting with GI and related ideas such as program fragility.
<strong>GrammaTech</strong> released extensive tooling for the programmatic modification and evaluation of software; focused on modifying C/C++ source, assembly, and ELF files: <a href="https://github.com/GrammaTech/sel">link</a>; and C/C++ manipulation tooling: <a href="https://github.com/GrammaTech/clang-mutate">link</a>.
Here are a few other examples of existing work:
<ul>
<li style="list-style-type: none;">
<ul>
<li><a href="http://diversify-project.eu/papers/Yeboah15.pdf">ECSELR</a></li>
<li><a href="https://github.com/JerrySwan/JerrySwan.github.io/blob/master/publications/genofix-TR.pdf">Gen-O-Fix</a></li>
<li><a href="https://squareslab.github.io/genprog-code/">GenProg Evolutionary Software Repair</a></li>
<li><a href="https://github.com/codykenb/locoGP">locoGP</a></li>
<li><a href="https://sourceforge.net/p/ugp3/wiki/GeneticImprovement/">MicroGP</a></li>
<li><a href="http://www0.cs.ucl.ac.uk/staff/ucacbbl/gismo/">Software from the GISMOE Project via Bill Langdon</a> (see "Free Code")</li>
<li><a href="http://www.shinhwei.com/relifix.pdf">Relifix</a></li>
<li>Eric Schulte's work:
<ul>
<li><a href="https://github.com/eschulte/goa">Genetic Optimization Algorithm (GOA)</a></li>
<li><a href="http://eschulte.github.io/software-evolution/index.html">Software Evolution Library</a></li>
<li><a href="https://github.com/eschulte/netgear-repair">Netgear Router Repair</a></li>
</ul>
</li>
<li><a href="https://people.cs.umass.edu/~brun/pubs/pubs/Ke15ase.pdf">SearchRepair</a></li>
<li><a href="http://sourceforge.net/projects/trpautorepair/">TrpAutoRepair</a> (formerly known as RS Repair)</li>
</ul>
</li>
</ul>
Other frameworks and libraries identified at the <a href="https://www.dagstuhl.de/en/program/calendar/semhp/?semnr=18052">Dagstuhl Seminar on Genetic Improvement of Software</a> held in January 2018:
<a href="http://crest.cs.ucl.ac.uk/autotransplantation/downloads/muScalpel.zip">MuScalpel: automated software transplantation</a>
<a href="https://github.com/STAMP-project/dspot">DSpot: a tool for Genetic Improvement of test suites</a>
<a href="https://github.com/coinse/pyggi"> PyGGI: Python General Framework for GI</a>
<a href="https://github.com/yyxhdy/arja">ARJA: multi-objective automated program repair</a>
<a href="https://github.com/Spirals-Team/librepair/tree/master/repairnator">Repairnator</a>
<a href="https://github.com/kayquesousa/astor4android">Astor4Android: program repair for Android Apps</a>
<!--div class="page" title="Page 7"-->
<!--div class="layoutArea"-->
<!--div class="column"-->
<h2>Can you suggest good GI Benchmarks?</h2>
GI-improved test subjects with test cases:
<p style="padding-left: 30px;"><a id="LPlnk512367" class="x_OWAAutoLink" href="http://www0.cs.ucl.ac.uk/staff/ucacbbl/gismo/">http://www0.cs.ucl.ac.uk/staff/ucacbbl/gismo/</a> (see Free Code heading)</p>
<p style="padding-left: 30px;"><a id="LPlnk512367" class="x_OWAAutoLink" href="http://www.cs.ucl.ac.uk/staff/W.Langdon/gggp/#code">http://www.cs.ucl.ac.uk/staff/W.Langdon/gggp/#code</a> (see Free Code heading) </p>
<p style="padding-left: 30px;"><a id="LPlnk106314" class="x_OWAAutoLink" href="http://crest.cs.ucl.ac.uk/autotransplantation/downloads/artifact.html"> http://crest.cs.ucl.ac.uk/autotransplantation/downloads/artifact.html</a></p>
<p style="padding-left: 30px;">(several frameworks also come with benchmarks, please see GI frameworks above)</p>
Automated program repair, bug repositories:
<!--p style="padding-left: 30px;"><a id="LPlnk394467" class="x_OWAAutoLink" href="http://repairbenchmarks.cs.umass.edu/">http://repairbenchmarks.cs.umass.edu/</a></p-->
<p style="padding-left: 30px;"><a id="LPlnk394467" class="x_OWAAutoLink" href="http://program-repair.org/benchmarks.html">http://program-repair.org/benchmarks.html</a></p>
<!--p style="padding-left: 30px;"><a id="LPlnk378407" class="x_OWAAutoLink" href="http://groups.csail.mit.edu/pac/patchgen/">http://groups.csail.mit.edu/pac/patchgen/</a></p-->
Benchmarks identified at the <a href="https://www.dagstuhl.de/en/program/calendar/semhp/?semnr=18052">Dagstuhl Seminar on Genetic Improvement of Software</a>:
<p style="padding-left: 30px;">Parsec: <a href="http://parsec.cs.princeton.edu/">http://parsec.cs.princeton.edu/</a></p>
<p style="padding-left: 30px;">SPEC INT: <a href="https://www.spec.org/benchmarks.html">https://www.spec.org/benchmarks.html</a></p>
<!--/div-->
<!--/div-->
<!--/div-->