Code Phage lapt je foutieve programma op met donorcode
Een team van de Massachusetts Institute of Technology (MIT) heeft een manier gevonden om donorprogramma’s te gebruiken welke de functionaliteit verbeteren en het aantal systeemfouten verminderen bij open-source programma’s. Het Code Phage-systeem vervangt automatisch foutieve code met code van donorprogramma’s.
Tijdens het testen gebruikte het team zeven donorapplicaties waarmee tien fouten uit open-source programma’s konden worden gehaald. “Omdat Code Phage werkt met binaire donors zonder de broncode of symbolische informatie nodig te hebben, ondersteunt het een waaier aan toepassingen. Code Phage is het eerste systeem dat automatisch code kan uitwisselen tussen verschillende applicaties.” Zegt het team.
Code Phage heeft slechts twee inputvoorbeelden nodig, één waardoor een fout wordt gegenereerd en één waarbij het programma correct werkt. Code Phage zoekt in een database naar applicaties welke beide inputs correct kunnen verwerken. “De hypothese is dat de donor een controle bevat welke ontbreekt in het foutieve programma. Het doel is deze controle over te zetten naar het foutieve programma en hierdoor de fout uit het programma te halen.” Staat uitgelegd in de paper van het team.
Wanneer deze controle is geïdentificeerd, zoekt Code Phage verder naar conditionele statements in de donorcode. Het systeem vindt de correcte statements welke de fout corrigeren en voegt deze aan het foutieve programma toe. Als laatste stap test Code Phage het resultaat.