English

WebRobot: Web Robotic Process Automation using Interactive Programming-by-Demonstration

Programming Languages 2022-05-12 v3

Abstract

It is imperative to democratize robotic process automation (RPA), as RPA has become a main driver of the digital transformation but is still technically very demanding to construct, especially for non-experts. In this paper, we study how to automate an important class of RPA tasks, dubbed web RPA, which are concerned with constructing software bots that automate interactions across data and a web browser. Our main contributions are twofold. First, we develop a formal foundation which allows semantically reasoning about web RPA programs and formulate its synthesis problem in a principled manner. Second, we propose a web RPA program synthesis algorithm based on a new idea called speculative rewriting. This leads to a novel speculate-and-validate methodology in the context of rewrite-based program synthesis, which has also shown to be both theoretically simple and practically efficient for synthesizing programs from demonstrations. We have built these ideas in a new interactive synthesizer called WebRobot and evaluate it on 76 web RPA benchmarks. Our results show that WebRobot automated a majority of them effectively. Furthermore, we show that WebRobot compares favorably with a conventional rewrite-based synthesis baseline implemented using egg. Finally, we conduct a small user study demonstrating WebRobot is also usable.

Keywords

Cite

@article{arxiv.2203.09993,
  title  = {WebRobot: Web Robotic Process Automation using Interactive Programming-by-Demonstration},
  author = {Rui Dong and Zhicheng Huang and Ian Iong Lam and Yan Chen and Xinyu Wang},
  journal= {arXiv preprint arXiv:2203.09993},
  year   = {2022}
}

Comments

Published at PLDI 2022

R2 v1 2026-06-24T10:18:29.866Z