HCAIPLSEFeb 23, 2022

ReverseORC: Reverse Engineering of Resizable User Interface Layouts with OR-Constraints

arXiv:2202.11523v122 citations
Originality Highly original
AI Analysis

This addresses the problem of software evolution for developers needing to understand and modify legacy or diverse UI layouts, though it appears incremental as an improved method for a known bottleneck.

The authors tackled the challenge of reverse engineering resizable user interface layouts across diverse technologies by proposing ReverseORC, which infers flexible layout constraint specifications by sampling UIs at different sizes and analyzing differences. They demonstrated it works across platforms like GUIs and the Web, replicating even non-standard layout managers with complex behaviors.

Reverse engineering (RE) of user interfaces (UIs) plays an important role in software evolution. However, the large diversity of UI technologies and the need for UIs to be resizable make this challenging. We propose ReverseORC, a novel RE approach able to discover diverse layout types and their dynamic resizing behaviours independently of their implementation, and to specify them by using OR constraints. Unlike previous RE approaches, ReverseORC infers flexible layout constraint specifications by sampling UIs at different sizes and analyzing the differences between them. It can create specifications that replicate even some non-standard layout managers with complex dynamic layout behaviours. We demonstrate that ReverseORC works across different platforms with very different layout approaches, e.g., for GUIs as well as for the Web. Furthermore, it can be used to detect and fix problems in legacy UIs, extend UIs with enhanced layout behaviours, and support the creation of flexible UI layouts.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes