您的瀏覽器不支援JavaScript語法,網站的部份功能在JavaScript沒有啟用的狀態下無法正常使用。

中央研究院 資訊科學研究所

活動訊息

友善列印

列印可使用瀏覽器提供的(Ctrl+P)功能

學術演講

:::

Detecting Redundant CSS Rules in HTML5: A Tree-Rewriting Approach

  • 講者Anthony Lin 教授 (Computer science at Yale-NUS College)
    邀請人:陳郁方
  • 時間2015-05-08 (Fri.) 11:00 ~ 13:00
  • 地點資訊所新館106演講廳
摘要

HTML5 applications normally have a large set of CSS (Cascading Style Sheets) rules for data display. Each CSS rule consists of a node selector (given in an XPath-like query language) and a declaration block (assigning values to selected nodes' display attributes). As web applications evolve, maintaining CSS files can easily become problematic. Some CSS rules will be replaced by new ones, but these obsolete (hence redundant) CSS rules often remain in the applications.

Not only does this ``bloat'' the applications, but it also significantly increases web browsers' processing time. Most works on detecting redundant CSS rules in HTML5 applications do not consider the dynamic behaviours of HTML5 (specified in JavaScript); in fact, the only available method that takes these into account is dynamic analysis (a.k.a. testing), which cannot soundly prove redundancy of CSS rules. In this talk, I will describe a static analysis technique based on a monotonic tree-rewriting abstraction of HTML5 applications.

Our algorithm relies on an efficient reduction to an analysis of symbolic pushdown systems (for which highly optimised solvers are available), which yields a fast method for checking redundancy in practice. We implemented our algorithm and demonstrated its efficacy in detecting redundant CSS rules in HTML5 applications.

This work is joint with Matthew Hague (Royal Holloway University of London) and Luke Ong (Oxford University)

BIO

Dr. Anthony Lin is an assistant professor in computer science at Yale-NUS College. He completed his PhD at Edinburgh's University School of Informatics under Prof. Leonid Libkin and Dr. Richard Mayr.

Previously, he was an EPSRC Postdoctoral Research Fellow at University of Oxford (2010-2013). His main research focuses on program analysis for the web and algorithmic program verification.