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

WebRobot: Web Robotic Process Automation using Interactive Programming-by-Demonstration
复制标题

WebRobot:使用交互式演示编程的网络机器人流程自动化

DOI:
10.1145/3519939.3523711
复制
发表时间:
2022
期刊:
Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation
影响因子:
--
通讯作者:
Wang, Xinyu
Wang, Xinyu
中科院分区:
--
文献类型:
--
作者:
Dong, Rui;Huang, Zhicheng;Lam, Ian Iong;Chen, Yan;Wang, Xinyu

文献摘要

相似文献

机器人过程自动化(RPA)的民主化势在必行,因为RPA已成为数字化转型的主要驱动力,但在技术上仍然非常苛刻,尤其是对于非专家而言。在本文中,我们研究了如何自动化一类重要的RPA任务,称为Web RPA,这些任务涉及构建自动化数据和Web浏览器之间交互的软件机器人。我们的主要贡献有两方面。首先,我们开发了一个正式的基础,它允许语义推理Web RPA程序,并制定其合成问题的原则性方式。其次,我们提出了一个Web RPA程序合成算法的基础上的一个新的想法称为投机重写。这导致了一种新的推测和验证方法的重写为基础的程序合成的背景下,这也被证明是理论上简单,实际上有效的综合程序演示。我们在一个名为WebRobot的新交互式合成器中构建了这些想法,并在76个Web RPA基准上对其进行了评估。我们的研究结果表明,WebRobot有效地自动化了其中的大多数。此外,我们表明,WebRobot相比毫不逊色,传统的重写为基础的合成基线使用鸡蛋。最后,我们进行了一个小型的用户研究,证明WebRobot也是可用的。
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.