Programmerare har länge använt påståenden för att karakterisera egenskaper kod. Ett påstående är ett tecken på korruption i programstaten. Vid ett sådant tillstånd är det standard att avsluta programmet, felsöka det om möjligt, och återutöva det. Vi föreslår en ny vy: istället för att avsluta programmet, använd det kränkta påståendet som en grund för att reparera tillståndet i programmet och låt det fortsätta. Vi presenterar en ny algoritm för att reparera komplexa datastrukturer. Med tanke på en struktur som bryter mot ett påstående som representerar dess integritetsbegränsningar utför vår algoritm en systematisk sökning baserad på symboliskt utförande för att reparera strukturen, dvs. mutera den så att den resulterande strukturen uppfyller de givna begränsningarna. Heuristik för att beskära sökning och minimera mutationer möjliggör effektiv och effektiv reparation. Experiment som använder bibliotek och applikationer, såsom en namngivningsarkitektur och en databasmotor, visar att vår prototyp effektivt reparerar komplexa strukturer samtidigt som system kan återhämta sig från potentiellt förlamande fel.
Assertion-baserad datastruktur reparation REF startar från en felaktig datastruktur tillstånd som utlöser ett påstående överträdelse och använder symbolisk körning för att utforska möjliga strukturmutationer som kan reparera staten.
Assertion-based repair of complex data structures
{'venue': "ASE '07", 'journal': None, 'mag_field_of_study': ['Computer Science']}