Fixing runtime buggar i långa program med hjälp av spårbaserade analyser såsom dynamisk skivning ansågs vara oöverkomligt dyrt. I detta dokument presenterar vi en ny exekveringsteknik för snabb vidaresändning som gör detta möjligt. Även om en naiv lösning är att dela upp hela utförandet med kontrollpunkter, och sedan tillämpa dynamisk skivning som möjliggörs genom att spåra till ett kontrollintervall i taget, är det fortfarande för dyrt även med toppmoderna spårningsmetoder. Vår teknik är härledd från två viktiga observationer. Den första är att långa program oftast drivs av händelser, som har utnyttjats av checkpointing/replaying tekniker för att deterministiskt återspela en körning från händelseloggen. Den andra iakttagelsen är att alla händelser inte är relevanta för att återspela en viss del av avrättningen, där programmeraren misstänker ett fel. Vi utvecklar en skivliknande teknik som kan användas för att beskära irrelevanta händelser från händelseloggen. Körs av den reducerade loggen, den återspelade körningen spåras nu för fel plats. Detta återspelade utförande har effekten av snabb vidaresändning, dvs. mängden utförda instruktioner minskas avsevärt utan att man förlorar riktigheten av att reproducera ett fel. Vår utvärdering visar att hoppa över irrelevanta händelser kan minska utrymmet för dynamisk skivning genom faktorer som varierar från 72 till 44490. Vi beskriver också hur checkpointing och spårning möjliggör dynamisk skivning kombineras, vilket vi tror är det första försöket att integrera dessa två tekniker. Slutligen studeras dynamiska skivor av en uppsättning rapporterade fel för långa program för att visa effektiviteten av dynamisk skivning.
Det har också funnits arbete på tillförlitligheten av långgående program med hjälp av en kombination av checkpointing och spårning REF.
Dynamic slicing long running programs through execution fast forwarding
{'venue': "SIGSOFT '06/FSE-14", 'journal': None, 'mag_field_of_study': ['Computer Science']}