Onderzoekers van MIT hebben een tool ontwikkeld die crash-bugs in software automatisch moet kunnen oplossen door functionaliteit te 'lenen' van andere software. Dergelijke bugs zijn niet alleen vervelend, maar vormen ook een beveiligingsrisico.
De tool, CodePhage gedoopt, kan security checks van andere software overnemen. Door die functionaliteit te implementeren in de eigen code, kunnen crash-bugs automatisch worden opgelost, zonder dat er een ontwikkelaar aan te pas komt. Vervolgens analyseert de software automatisch of de crash-bug daadwerkelijk is opgelost.
De tool werkt door de input die crashes veroorzaakt te 'voeren' aan een ander softwareproject, de donor. Dat gebeurt samen met input die niet voor crashes zorgt. Vervolgens analyseert CodePhage de stappen die de software uitvoert, en op welk punt het 'donorproject' de input anders behandelt dan het eigen project. Vervolgens kan die andere behandeling worden geïntegreerd in het 'eigen' project.
Opvallend is dat CodePhage niet bij de bron van software hoeft te kunnen om de implementatie te lenen; het analyseren van de uitvoering van de software is voldoende. Ook hoeft het softwareproject waarvan de code wordt geleend niet in dezelfde taal te zijn geschreven. Als de code van een ander softwareproject is geleend, analyseert CodePhage of de crash-bug is opgelost. Zo niet, dan probeert de tool andere functionaliteit van het donorproject te lenen om de bug toch op te lossen.
Volgens MIT bestaat meer dan 80 procent van de code van softwareprojecten inmiddels uit security-checks. Door die checks te automatiseren, zouden ontwikkelaars daar minder tijd aan hoeven te besteden. Het uiteindelijke doel is dat een programmeur niet meer iets hoeft te programmeren dat al eerder is geprogrammeerd.