WebRobot: Web Robotic Process Automation using Interactive Programming-by-Demonstration
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