JavaScript har blivit ett av de mest populära programmeringsspråken, men det är känt för sin suboptimala design. För att effektivt använda JavaScript trots dess designbrister försöker utvecklare följa informella regler för kodkvalitet som hjälper till att undvika korrekthet, underhåll, prestanda och säkerhetsproblem. Lätta statiska analyser, som genomförs i "lint-liknande" verktyg, används ofta för att hitta överträdelser av dessa regler, men är av begränsad användning på grund av språkets dynamiska natur. I detta dokument presenteras DLint, en dynamisk analysmetod för att kontrollera kodkvalitetsregler i JavaScript. DLint består av ett generiskt ramverk och en extensibel uppsättning kontroller som var och en behandlar en viss regel. Vi beskriver och genomför formellt 28 kontroller som tar itu med problem som missas av toppmoderna statiska metoder. Att tillämpa metoden i en omfattande empirisk studie på över 200 populära webbplatser visar att statiska och dynamiska kontroller kompletterar varandra. I genomsnitt per webbplats upptäcker DLint 49 problem som saknas statiskt, inklusive synliga fel på IKEAs, Hiltons, eBays och CNBC:s webbplatser.
DLint REF är en dynamisk kontrollör för överträdelser av regler för kodkvalitet, inklusive användning av eval som missas genom statisk analys.
DLint: dynamically checking bad coding practices in JavaScript
{'venue': 'ISSTA 2015', 'journal': None, 'mag_field_of_study': ['Computer Science']}