Skip to main content

Anthony Lin receives Google Faculty Research Award

Posted:

Associate Professor Anthony Lin is the recipient of a Google Faculty Research Award, for his research on Cascading Style Sheet (CSS) Minification via Graph Optimisation and Constraint Solving.

Recent studies have shown that on average web pages have more than tripled in size in the past six years. This large increase in web page size not only raises the bandwidth requirement and download time, but it also increases processing time for web browsers. This is especially bad news for users with limited data usage, slow internet connection, and/or limited computing power. Two standard techniques for reducing file sizes transmitted over the web are: (1) compression, and (2) minification. Compression means applying a standard compression algorithm (typically, gzip) before a file is transmitted to the user, and a decompression algorithm (typically, gunzip) after a file is downloaded by the browser. Gzip is now supported by many web hosts and almost all modern browsers, and can be applied to all types of files (including images, JavaScript, HTML, and CSS). Minification, on the other hand, means that we apply a semantic-preserving transformation to the source code (JavaScript, CSS, and HTML) in a way that makes the resulting code (in the same language) smaller. Both compression and minification are typically used to reduce the size of a deployed page.

Anthony's research project aims to develop advanced CSS minification algorithm that combines and merges similar rules in a CSS file. This is an instance of code refactoring in the context of CSS. Identifying such refactoring opportunities involves challenges including: (1) developing a formalisation of the semantics of CSS selectors, along with an algorithm for checking intersection of two given selectors, (2) reducing the resulting refactoring/minification problem to a graph optimization problem that can be solved by a constraint solving problem (SMT and MaxSAT problems).

The goal of the research is to achieve a better file size reduction in comparison to existing minification techniques.