Händelselopp är en vanlig källa till subtila fel i JavaScript webbapplikationer. Flera automatiserade verktyg för att upptäcka händelser har utvecklats, men experiment visar att deras noggrannhet i allmänhet är ganska låg. Vi presenterar en ny strategi som fokuserar på tre kategorier av händelse ras fel som ofta visas under initieringsfasen av webbapplikationer: form-input-överskrivna fel, sent-event-handler-registreringsfel, och tillgång-före-definition fel. Metoden bygger på en dynamisk analys som använder en kombination av ogynnsamt och ungefärligt utförande. Bland de starka sidorna i tillvägagångssättet är att det inte kräver webbläsarändringar, dyra modellkontroll, eller statisk analys. I en utvärdering på 100 allmänt använda webbplatser, vårt verktyg InitRacer rapporterar 1 085 initiering races, samtidigt ge informativa förklaringar av deras orsaker och effekter. En manuell studie av 218 av dessa rapporter visar att 111 av dem leder till ouppnåeliga undantag och minst 47 tyder på fel som påverkar webbplatsernas funktionalitet.
InitRacer REF upptäcker rasfel som ofta uppstår under sidinitiering (form-inmatning-överskriven, sen händelse-handler registrering, och åtkomst-före-definition fel) med hjälp av negativ och ungefärlig utförande.
Practical initialization race detection for JavaScript web applications
{'venue': 'PACMPL', 'journal': None, 'mag_field_of_study': ['Computer Science']}