Title
Uncovering Javascript Performance Code Smells Relevant To Type Mutations
Abstract
In dynamic typing languages such as JavaScript, object types can be mutated easily such as by adding a field to an object. However, compiler optimizations rely on a fixed set of types, unintentional type mutations can invalidate the speculative code generated by the type-feedback JIT and deteriorate the quality of compiler optimizations. Since type mutations are invisible, finding and understanding the performance issues relevant to type mutations can be an overwhelming task to programmers. We develop a tool JSweeter to detect performance bugs incurred by type mutations based on the type evolution graphs extracted from program execution. We apply JSweeter to the Octane benchmark suite and identify 46 performance issues, where 19 issues are successfully fixed with the refactoring hints generated by JSweeter and the average performance gain is 5.3% (up to 23 %). The result is persuasive because those issues are hidden in such well developed benchmark programs.
Year
DOI
Venue
2015
10.1007/978-3-319-26529-2_18
PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2015
Field
DocType
Volume
Graph,Programming language,Suite,Computer science,Object type,Optimizing compiler,Code refactoring,Code smell,Fast path,JavaScript
Conference
9458
ISSN
Citations 
PageRank 
0302-9743
4
0.37
References 
Authors
16
4
Name
Order
Citations
PageRank
Xiao Xiao118823.95
Shi Han229615.22
Charles Zhang351228.97
Dongmei Zhang41439132.94