En rad statiska analysverktyg och tekniker har utvecklats under de senaste åren i syfte att hjälpa JavaScript webbprogrammerare att producera kod som är mer robust, säker och effektiv. Men, som visas i en tidigare storskalig studie, många webbapplikationer använder JavaScript eval-funktionen för att dynamiskt konstruera kod från textsträngar på sätt som hindrar befintliga statiska analyser. Som en följd av detta, analyserna antingen misslyckas med att resonera om webbapplikationer eller producera osunda eller värdelösa resultat. Vi presenterar en strategi för att ljudligt och automatiskt omvandla många vanliga användningsområden för evaluering till andra språkkonstruktioner för att möjliggöra ljudstatisk analys av webbapplikationer. Genom att eliminera samtal till evaluering, utökar vi tillämpligheten av statisk analys för JavaScript webbapplikationer i allmänhet. Den omvandling vi föreslår fungerar genom att införliva en refaktoringsteknik i en dataflödesanalysator. Vi rapporterar om våra experimentella resultat med en liten samling av programmeringsmönster som utvunnits från populära webbplatser. Även om det oundvikligen finns fall där omvandlingen måste ge upp, vår teknik lyckas eliminera många icke-triviala händelser av eval.
I REF integrerar författarna en refaktoring av ansökningsomgångarna för utvärdering i TAJS dataflödesanalysatorn.
Remedying the eval that men do
{'venue': 'ISSTA 2012', 'journal': None, 'mag_field_of_study': ['Computer Science']}