Programvaran genomgår ständigt förändringar under hela sin livscykel, och därmed utvecklas den. Eftersom ändringar införs i en kodbas måste vi se till att effekten av ändringarna testas grundligt. För detta ändamål är det viktigt att generera testfall som kan betona effekten av en given förändring. I detta dokument föreslår vi en automatisk testgenereringslösning på detta problem. Med tanke på en förändring c, använder vi dynamisk symbolisk körning för att generera en test input t, vilket betonar förändringen. Detta görs genom att se till att (i) förändringen c utförs av t, och (ii) effekten av c är observerbar i den utdata som produceras av test t. För att konstruera en förändringsfördjupande ingång, använder vår teknik avstånd i kontrollberoende diagram för att styra vägen prospektering mot förändringen. Sedan identifierar vår teknik de vanliga programmeringsmönster som kan förhindra en given förändring från att påverka programmets resultat. För vart och ett av dessa mönster föreslår vi metoder för att anpassa den förändringsgående inputen till en input som når förändringen och sprider effekten av förändringen till utmatningen. Våra experimentella resultat visar att vår testgenereringsteknik är effektiv när det gäller att generera förändringsindata för verkliga program.
I REF används dynamisk symbolisk körning (även kallad konkolisk testning) för att generera en testinmatning för att hantera en enda förändring.
Test generation to expose changes in evolving programs
{'venue': "ASE '10", 'journal': None, 'mag_field_of_study': ['Computer Science']}