Detecting redundant CSS rules in HTML5 applications : a tree rewriting approach. / Hague, Matthew; Lin, Anthony; Ong, C.-H. Luke.

OOPSLA 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. New York, NY : ACM, 2015. p. 1-19 .

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Published

Standard

Detecting redundant CSS rules in HTML5 applications : a tree rewriting approach. / Hague, Matthew; Lin, Anthony; Ong, C.-H. Luke.

OOPSLA 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. New York, NY : ACM, 2015. p. 1-19 .

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Harvard

Hague, M, Lin, A & Ong, C-HL 2015, Detecting redundant CSS rules in HTML5 applications: a tree rewriting approach. in OOPSLA 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. ACM, New York, NY, pp. 1-19 . https://doi.org/10.1145/2814270.2814288

APA

Hague, M., Lin, A., & Ong, C-H. L. (2015). Detecting redundant CSS rules in HTML5 applications: a tree rewriting approach. In OOPSLA 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (pp. 1-19 ). ACM. https://doi.org/10.1145/2814270.2814288

Vancouver

Hague M, Lin A, Ong C-HL. Detecting redundant CSS rules in HTML5 applications: a tree rewriting approach. In OOPSLA 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. New York, NY: ACM. 2015. p. 1-19 https://doi.org/10.1145/2814270.2814288

Author

Hague, Matthew ; Lin, Anthony ; Ong, C.-H. Luke. / Detecting redundant CSS rules in HTML5 applications : a tree rewriting approach. OOPSLA 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications. New York, NY : ACM, 2015. pp. 1-19

BibTeX

@inproceedings{df1c81b324f64fe3a4d851f8e85e2699,
title = "Detecting redundant CSS rules in HTML5 applications: a tree rewriting approach",
abstract = "HTML5 applications normally have a large set of CSS (Cascading Style Sheets) rules for data display. Each CSS rule consists of a node selector and a declaration block (which assigns 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 – increasing the bandwidth requirement – 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 proposed method that takes these into account is dynamic analysis, which cannot soundly prove redundancy of CSS rules. In this paper, we introduce an abstraction of HTML5 applications based on monotonic tree-rewriting and study its {"}redundancy problem{"}. We establish the precise complexity of the problem and various subproblems of practical importance (ranging from P to EXP). In particular, 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.",
author = "Matthew Hague and Anthony Lin and Ong, {C.-H. Luke}",
year = "2015",
month = oct,
day = "23",
doi = "10.1145/2814270.2814288",
language = "English",
pages = "1--19 ",
booktitle = "OOPSLA 2015",
publisher = "ACM",

}

RIS

TY - GEN

T1 - Detecting redundant CSS rules in HTML5 applications

T2 - a tree rewriting approach

AU - Hague, Matthew

AU - Lin, Anthony

AU - Ong, C.-H. Luke

PY - 2015/10/23

Y1 - 2015/10/23

N2 - HTML5 applications normally have a large set of CSS (Cascading Style Sheets) rules for data display. Each CSS rule consists of a node selector and a declaration block (which assigns 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 – increasing the bandwidth requirement – 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 proposed method that takes these into account is dynamic analysis, which cannot soundly prove redundancy of CSS rules. In this paper, we introduce an abstraction of HTML5 applications based on monotonic tree-rewriting and study its "redundancy problem". We establish the precise complexity of the problem and various subproblems of practical importance (ranging from P to EXP). In particular, 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.

AB - HTML5 applications normally have a large set of CSS (Cascading Style Sheets) rules for data display. Each CSS rule consists of a node selector and a declaration block (which assigns 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 – increasing the bandwidth requirement – 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 proposed method that takes these into account is dynamic analysis, which cannot soundly prove redundancy of CSS rules. In this paper, we introduce an abstraction of HTML5 applications based on monotonic tree-rewriting and study its "redundancy problem". We establish the precise complexity of the problem and various subproblems of practical importance (ranging from P to EXP). In particular, 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.

U2 - 10.1145/2814270.2814288

DO - 10.1145/2814270.2814288

M3 - Conference contribution

SP - 1

EP - 19

BT - OOPSLA 2015

PB - ACM

CY - New York, NY

ER -