TY - GEN
T1 - Muzeel
T2 - 22nd ACM Internet Measurement Conference, IMC 2022
AU - Kupoluyi, Jesutofunmi
AU - Chaqfeh, Moumena
AU - Varvello, Matteo
AU - Coke, Russell
AU - Hashmi, Waleed
AU - Subramanian, Lakshmi
AU - Zaki, Yasir
N1 - Publisher Copyright:
© 2022 Association for Computing Machinery.
PY - 2022/10/25
Y1 - 2022/10/25
N2 - To quickly create interactive web pages, developers heavily rely on (large) general-purpose JavaScript libraries. This practice bloats web pages with complex unused functions dead code which are unnecessarily downloaded and processed by the browser. The identification and the elimination of these functions is an open problem, which this paper tackles with Muzeel, a black-box approach requiring neither knowledge of the code nor execution traces. While the state-of-the-art solutions stop analyzing JavaScript when the page loads, the core design principle of Muzeel is to address the challenge of dynamically analyzing JavaScript after the page is loaded, by emulating all possible user interactions with the page, such that the used functions (executed when interactivity events fire) are accurately identified, whereas unused functions are filtered out and eliminated. We run Muzeel against 15,000 popular web pages and show that half of the 300,000 JavaScript files used in these pages have at least 70% of unused functions, accounting for 55% of the files’ sizes. To assess the impact of dead code elimination on Mobile Web performance, we serve 200 Muzeel-ed pages to several Android phones and browsers, under variable network conditions. Our evaluation shows that Muzeel can speed up page loads by 25-30% thanks to a combination of lower CPU and bandwidth usage. Most importantly, we show that such savings are achieved while maintaining the pages’ visual appearance and interactive functionality.
AB - To quickly create interactive web pages, developers heavily rely on (large) general-purpose JavaScript libraries. This practice bloats web pages with complex unused functions dead code which are unnecessarily downloaded and processed by the browser. The identification and the elimination of these functions is an open problem, which this paper tackles with Muzeel, a black-box approach requiring neither knowledge of the code nor execution traces. While the state-of-the-art solutions stop analyzing JavaScript when the page loads, the core design principle of Muzeel is to address the challenge of dynamically analyzing JavaScript after the page is loaded, by emulating all possible user interactions with the page, such that the used functions (executed when interactivity events fire) are accurately identified, whereas unused functions are filtered out and eliminated. We run Muzeel against 15,000 popular web pages and show that half of the 300,000 JavaScript files used in these pages have at least 70% of unused functions, accounting for 55% of the files’ sizes. To assess the impact of dead code elimination on Mobile Web performance, we serve 200 Muzeel-ed pages to several Android phones and browsers, under variable network conditions. Our evaluation shows that Muzeel can speed up page loads by 25-30% thanks to a combination of lower CPU and bandwidth usage. Most importantly, we show that such savings are achieved while maintaining the pages’ visual appearance and interactive functionality.
KW - JavaScript
KW - Mobile Web
KW - User Experience
KW - Web Simplification
UR - http://www.scopus.com/inward/record.url?scp=85141351490&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85141351490&partnerID=8YFLogxK
U2 - 10.1145/3517745.3561427
DO - 10.1145/3517745.3561427
M3 - Conference contribution
AN - SCOPUS:85141351490
T3 - Proceedings of the ACM SIGCOMM Internet Measurement Conference, IMC
SP - 335
EP - 348
BT - IMC 2022 - Proceedings of the 2022 ACM Internet Measurement Conference
PB - Association for Computing Machinery
Y2 - 25 October 2022 through 27 October 2022
ER -