En av de särskiljande egenskaperna hos programvarusystem är att de utvecklas: nya patchar är engagerade i programvara arkiv och nya versioner släpps till användare på en kontinuerlig basis. Tyvärr, många av dessa förändringar medför oväntade buggar som bryter stabiliteten i systemet eller aenect dess säkerhet. I det här dokumentet tar vi itu med detta problem med hjälp av en teknik för att automatiskt testa kodlappar. Vår teknik kombinerar symbolisk körning med flera nya heuristiker baserade på statisk och dynamisk programanalys som gör det möjligt att snabbt nå koden för patchen. Vi har implementerat vår strategi i ett verktyg som kallas katch, som vi har tillämpat på alla de patchar som skrivits i en kombinerad period på cirka sex år för nitton mogna program från de populära GNU digils, GNU binutils och GNU findutils verktygssviter, som levereras med praktiskt taget alla UNIX-baserade distributioner. Våra resultat visar att katch automatiskt kan syntetisera ingångar som avsevärt ökar den patch täckning som uppnås av de befintliga manuella testsviter, och hitta buggar vid den tidpunkt de introduceras.
KATCH REF, presenteras av Det al., kombinerar symbolisk körning med flera nya heuristik baserad på statisk och dynamisk programanalys för att generera regressionstest för att exponera de förändringar som orsakas av en patch.
KATCH: high-coverage testing of software patches
{'venue': 'ESEC/FSE 2013', 'journal': None, 'mag_field_of_study': ['Computer Science']}