Fixing programvara buggar har alltid varit en viktig och tidskrävande process i mjukvaruutveckling. Fixing concurrency buggar har blivit särskilt kritiska i multicore eran. Det är dock svårt att rätta konvergerande fel, delvis på grund av icke-deterministiska misslyckanden och knepigt parallellt resonemang. Förutom att rätt åtgärda det ursprungliga problemet i programvaran, en bra patch bör också undvika att införa nya buggar, förnedrande prestanda i onödan, eller skada programvara läsbarhet. Befintliga verktyg kan inte automatisera hela fixningsprocessen och ge högkvalitativa patchar. Vi presenterar AFix, ett verktyg som automatiserar hela processen för att fixa en vanlig typ av konvergens bugg: envariabel atombrott. AFix startar från felrapporterna från befintliga feldetekteringsverktyg. Det förstärker dessa med statisk analys för att konstruera en lämplig patch för varje felrapport. Den försöker också kombinera patchar av flera buggar för bättre prestanda och kod läsbarhet. Slutligen, AFix körtid komponent ger testning anpassade för varje patch. Vår utvärdering visar att patchar som automatiskt genereras av AFix rätt eliminera sex av åtta verkliga fel och avsevärt minska sannolikheten för fel i de andra två fallen. AFix patchar introducerar aldrig nya buggar och har vanligtvis liknande prestanda som manuellt utformade patchar. Nyckelord atomära överträdelser, automatiserad felsökning, konvergens, kritiska regioner, dödläge, mutex lås, ömsesidig uteslutning, lappning, statisk analys * Stöds delvis av AFOSR beviljar FA9550-07-1-0210 och FA9550-09-1-0279; DoE kontrakt DE-SC0002153; LLNL kontrakt B580360; NSF beviljar CCF-0621487, CCF-0701957, CCF-0953478, CCF-1018180, och CNS-0720565, och en Claire Boothe Luce fakultetstipendier. Alla åsikter, slutsatser och slutsatser eller rekommendationer som uttrycks i detta material är upphovsmännens och återspeglar inte nödvändigtvis NSF:s eller andra institutioners åsikter. Tillstånd att göra digitala eller papperskopior av hela eller delar av detta arbete för personligt bruk eller klassrum beviljas utan avgift, förutsatt att kopiorna inte görs eller distribueras för vinst eller kommersiella fördelar och att kopiorna är försedda med detta meddelande och den fullständiga hänvisningen på första sidan. För att kopiera på annat sätt, för att återpublicera, för att posta på servrar eller för att omfördela till listor, krävs först ett särskilt tillstånd och/eller en avgift. " Det kan orsaka en krasch. Överlämnande " " skulle kunna fördärva loggen.
Jin m.fl. REF utformade en teknik för att automatiskt fixera konvergensfel genom att analysera de enskilda atombrotten.
Automated atomicity-violation fixing
{'venue': "PLDI '11", 'journal': None, 'mag_field_of_study': ['Computer Science']}