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

arXiv: https://arxiv.org/abs/2202.11523 · HTML: https://mlsanity.com/paper/2202.11523/

## Key facts

- Cited by 6 papers in the map (data through 14 Oct 2026).
- Builds on 2 of its 81 references that are in the map.
- First posted on arXiv 23 Feb 2022.

## Builds on (most cited first, 2 of 2)

- [ORC Layout: Adaptive GUI Layout with OR-Constraints](https://mlsanity.com/paper/1912.07827/) (2019)
- [ORCSolver: An Efficient Solver for Adaptive GUI Layout with OR-Constraints](https://mlsanity.com/paper/2002.09925/) (2020)

## Built on by (most cited first, 6 of 6)

- [ILuvUI: Instruction-tuned LangUage-Vision modeling of UIs from Machine Conversations](https://mlsanity.com/paper/2310.04869/) (2023)
- [EyeFormer: Predicting Personalized Scanpaths with Transformer-Guided Reinforcement Learning](https://mlsanity.com/paper/2404.10163/) (2024)
- [Graph4GUI: Graph Neural Networks for Representing Graphical User Interfaces](https://mlsanity.com/paper/2404.13521/) (2024)
- [Pairwise GUI Dataset Construction Between Android Phones and Tablets](https://mlsanity.com/paper/2310.04755/) (2023)
- [ControlGUI: Guiding Generative GUI Exploration through Perceptual Visual Flow](https://mlsanity.com/paper/2502.03330/) (2025)
- [StructLayoutFormer:Conditional Structured Layout Generation via Structure Serialization and Disentanglement](https://mlsanity.com/paper/2510.26141/) (2025)

## Abstract (arXiv)

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.
