WebRobot: web robotic process automation using interactive programming-by-demonstration
Rui Dong, Zhicheng Huang, Ian Iong Lam, Yan Chen, Xinyu Wang
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.
• Software and its engineering → Automatic programming.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 4769e82c-0f2f-469e-8278-8449bb3df85eCited by top-tier papers9
- babble: Learning Better Abstractions with E-Graphs and Anti-unificationDavid Cao, Rose Kunkel, Chandrakana Nandi, Max Willsey et al.POPL 2023 · 38 citations
- SemanticOn: Specifying Content-Based Semantic Conditions for Web Automation ProgramsKevin Pu, Rainey Fu, Rui Dong, Xinyu Wang et al.UIST 2022 · 16 citations
- ImageEye: Batch Image Processing using Program SynthesisCeleste Barnaby, Qiaochu Chen, Roopsha Samanta, Isil DilligPLDI 2023 · 13 citations
- Programming-by-Demonstration for Long-Horizon Robot TasksNoah Patton, Kia Rahmani, Meghana Missula, Joydeep Biswas et al.POPL 2024 · 11 citations
- Efficient Bottom-Up Synthesis for Programs with Local VariablesXiang Li, Xiangyu Zhou, Rui Dong, Yihong Zhang et al.POPL 2024 · 7 citations
Builds on9
- Synthesizing structured CAD models with equality saturation and inverse transformationsChandrakana Nandi, Max Willsey, Adam Anderson, James R. Wilcox et al.PLDI 2020 · 65 citations
- Interactive Program Synthesis by Augmented ExamplesTianyi Zhang, London Lowmanstone, Xinyu Wang, Elena L. GlassmanUIST 2020 · 57 citations
- Semantic code search via equational reasoningVarot Premtoon, James Koppel, Armando Solar-LezamaPLDI 2020 · 49 citations
- Small-Step Live Programming by ExampleKasra Ferdowsifard, Allen Ordookhanians, Hila Peleg, Sorin Lerner et al.UIST 2020 · 40 citations
- Falx: Synthesis-Powered Visualization AuthoringChenglong Wang, Yu Feng, Rastislav Bodík, Isil Dillig et al.CHI 2021 · 35 citations
Related papers
- Incremental Program Synthesis from Event LogsJinwoo Kim, Victor Nicolet, Joey Dodds, Loris D'AntoniOOPSLA 2026
- Using Reactive Synthesis: An End-to-End Exploratory Case StudyDor Ma'ayan, Shahar MaozICSE 2023 · 10 citations
- Programming with a read-eval-synth loopHila Peleg, Roi Gabay, Shachar Itzhaky, Eran YahavOOPSLA 2020 · 15 citations
- Exploring the Learnability of Program Synthesizers by Novice ProgrammersDhanya Jayagopal, Justin Lubin, Sarah E. ChasinsUIST 2022 · 40 citations
- MIWA: Mixed-Initiative Web Automation for Better User Control and ConfidenceWeihao Chen, Xiaoyu Liu, Jiacheng Zhang, Ian Iong Lam et al.UIST 2023 · 13 citations
