Vi analyserar rapporterade patcher för tre befintliga genero-andvalidate patch genereringssystem (GenProg, RSRepair, och AE). Den grundläggande principen bakom generera-och-validat system är att acceptera endast rimliga patchar som ger korrekta utgångar för alla ingångar i valideringstestssviten. På grund av fel i infrastrukturen för patchutvärdering är majoriteten av de rapporterade patchar inte rimliga att de inte ger korrekta resultat ens för indata i valideringstestssviten. Den överväldigande majoriteten av de rapporterade patchar är inte korrekt och är likvärdiga med en enda ändring som helt enkelt tar bort funktionalitet. Observerade negativa effekter inkluderar införande av säkerhetssårbarheter och eliminering av önskvärd funktionalitet. Vi presenterar också Kali, en generera-och-validate patch genereringssystem som bara tar bort funktionalitet. Kali arbetar med ett enklare och mer effektivt fokuserat sökområde och genererar minst lika många korrekta patcher som tidigare GenProg-, RSRepair- och AE-system. Kali genererar också minst lika många patchar som ger korrekta utgångar för ingångarna i valideringstestssviten som de tre tidigare systemen. Vi diskuterar också de patchar som produceras av ClearView, en generera-och-validat binära hot patching system som utnyttjar lärda invarianter för att producera patchar som gör det möjligt för system att överleva annars dödliga defekter och säkerhetsattacker. Vår analys visar att ClearView framgångsrikt patchs 9 av de 10 säkerhetssårbarheter som används för att utvärdera systemet. Minst 4 av dessa plåster är korrekta.
Kali REF tillämpar en enda transform som helt enkelt tar bort kod.
An analysis of patch plausibility and correctness for generate-and-validate patch generation systems
{'venue': 'ISSTA 2015', 'journal': None, 'mag_field_of_study': ['Computer Science']}