Modern web browsers rely on layout engines to convert HTML documents to layout trees that specify color, size, and position. However, existing layout engines are notoriously difficult to maintain because of the complexity of web standards. This is especially true for incremental layout engines, which are designed to improve performance by updating only the parts of the layout tree that need to be changed.
In this paper, we propose Medea, a new framework for automatically generating incremental layout engines. Medea separates the specification of the layout engine from its incremental implementation, and guarantees correctness through layout engine synthesis. The synthesis is driven by a new iterative algorithm based on detecting conflicts that prevent optimality of the incremental algorithm.
We evaluated Medea on a fragment of HTML layout that includes challenging features such as margin collapse, floating layout, and absolute positioning. Medea successfully synthesized an incremental layout engine for this fragment. The synthesized layout engine is both correct and efficient. In particular, we demonstrated that it avoids real-world bugs that have been reported in the layout engines of Chrome, Firefox, and Safari. The incremental layout engine synthesized by Medea is up to $1.82\times$ faster than a naive incremental baseline. We also demonstrated that our conflict-driven algorithm produces engines that are $2.74\times$ faster than a baseline without conflict analysis.
Tue 20 JunDisplayed time zone: Eastern Time (US & Canada) change
09:00 - 11:00 | |||
09:00 20mTalk | Trace-Guided Inductive Synthesis of Recursive Functional ProgramsDistinguished Paper PLDI Research Papers DOI | ||
09:20 20mTalk | Inductive Program Synthesis via Iterative Forward-Backward Abstract Interpretation PLDI Research Papers Yongho Yoon Seoul National University, Woosuk Lee Hanyang University, Kwangkeun Yi Seoul National University DOI | ||
09:40 20mTalk | ImageEye: Batch Image Processing using Program Synthesis PLDI Research Papers Celeste Barnaby University of Texas at Austin, Jocelyn (Qiaochu) Chen University of Texas at Austin, Roopsha Samanta Purdue University, Işıl Dillig University of Texas at Austin DOI | ||
10:00 20mTalk | One Pixel Adversarial Attacks via Sketched Programs PLDI Research Papers DOI | ||
10:20 20mTalk | Absynthe: Abstract Interpretation-Guided Synthesis PLDI Research Papers Sankha Narayan Guria University of Maryland, Jeffrey S. Foster Tufts University, David Van Horn University of Maryland DOI Pre-print | ||
10:40 20mTalk | Conflict-Driven Synthesis for Layout Engines PLDI Research Papers Junrui Liu University of California, Santa Barbara, Yanju Chen University of California at Santa Barbara, Eric Atkinson MIT, Yu Feng University of California at Santa Barbara, Rastislav Bodík Google Research, Brain Team DOI |