Nowadays, a vast majority of business processes involve many tedious and repetitive tasks, for example transferring data across multiple systems or transforming data from one format to another. These tasks are time-consuming, error-prone, and by themselves do not bring much value to the underlying processes. Their automation can bring many benefits such as error-rate reduction, performance improvements, workflow standardization and transparency. Furthermore, it will allow workers to move from unrewarding activities to more involving and stimulating tasks.
Automating repetitive tasks has been made more convenient by recent technological advances, particularly the emergence of Robotic Process Automation. Robotic Process Automation (or RPA for short) is a technology that allows organizations to automate routine digital tasks by programming and executing software scripts that encode sequences of fine-grained interactions with Web and desktop applications. Such scripts (a.k.a., RPA bots) mimic a user by simulating user actions, for example navigating within an application, filling in web forms, or transferring data across different applications according to a predefined set of rules.
While RPA has already been successfully applied to various organizations, to date, a great deal of time is still required to identify routines for automation and manually program the RPA bots. Although, existing RPA tools allow one to automate a wide range of routines, they cannot identify what routines should be automated in the first place. The current practice for identifying candidate routines for RPA is by means of interviews, walk-throughs, and detailed observation of workers conducting their daily work, e.g., by videorecording. These empirical investigation methods allow analysts to identify candidate routines for automation and to assess the potential benefits and costs of automating the identified routines. However, these methods are time-consuming and, therefore, face scalability limitations and are not cost-efficient in organizations where the number of routines is very high and where the routines are scattered around the process landscape. Besides, the information about routines obtained in such a way can often be incomplete or outdated. The negative consequences of mistakes introduced at this stage are magnified by the large number of bots typically deployed in an organization that adopts RPA. Hence, in practice, considerable time is invested in quality-testing the bots before deployment.
In this thesis, we present a new family of techniques called Robotic Process Mining (RPM), to discover routines, from recordings (a.k.a., logs) of interactions between one or more workers and software applications, that can be automated via RPA tools. The goal of RPM techniques is to help business analysts to draw a systematic inventory of the tasks that can be automated within an organization, and to synthesize executable specifications of such tasks that can be then used as a starting point for their automation.
The thesis focuses on the following problems: 1) how to discover routine tasks from a log of user interactions with IT systems; 2) how to identify whether discovered routines are automatable, and how discover specifications for the automatable routines. In addition, the thesis proposes a design of a format to store logs of user interactions and presents a tool to record such logs. The efficiency and potential usefulness of the proposed techniques have been evaluated using synthetic and real-life user interactions logs. The evaluation results show that these approaches can discover automatable routines that are present in a user interaction log and identify automatable routines that users recognize as such in real-life logs.