How Does Refactoring Affect Understandability of Business Process Models? Ricardo Pérez-Castillo, Maria Fernández-Ropero, Mario Piattini Instituto de Tecnologías y Sistemas de Información (ITSI), University of Castilla-La Mancha, Paseo de la Universidad 4, 13071, Ciudad Real, Spain [ricardo.pdelcastillo, marias.fernandez, mario.piattini]@uclm.es Danilo Caivano Department of Informatics, University of Bari, Via E. Orabona, 4, 70126 Bari, Italy caivano@di.uniba.it Abstract—Business process refactoring techniques have been often provided for business process manually modeled. Unfortunately, no many refactoring techniques lie in reversing business process models obtained from existing information systems, which need, even more, to be refactored. Hence, there is no strong empirical evidence on how the understandability of business process models is affected by this kind of refactoring techniques. This paper is aimed at providing a case study with two real-life information systems, from which 40 business process models were obtained by reverse engineering. The empirical study attempts to quantify the effect to the understandability of the order of refactoring operators as well as the previous refactoring actions. The main implication of the obtained results are a set of rules that may be used to optimize the understandability by means of the prioritization and configuration of refactoring techniques specially developed for business process models retrieved by reverse engineering. Keywords-Business Process, Refactoring, Understandability I. INTRODUCTION Business process models depict the sequence of coordinated activities that an organization carried out to achieve their business goal [22]. Business processes models are considered one of the most important assets for organizations due to two main reasons. An appropriate management of business process models first helps companies to quickly adapt their business goals and structures to environmental changes while maintaining or even improving their competitiveness [10]. Secondly, from a software engineering viewpoint, business process models are the starting point for obtaining the requirements of new-development or maintenance projects [19]. Since business processes exist within organization in an intangible way, business process modeling provides tangible descriptions of them allowing their management. Unfortunately, not all business processes are modeled in the organization, or when business processes are modeled, these might be out of date and therefore could be misaligned regarding the enterprise information systems that give support to such processes [9]. Similarly to the chicken-and-egg dilemma, there is no way to truly know which came first, business process models or enterprise information systems. In fact, outdated and misaligned business process models (together with organizations that deal with business process modeling at the first time) are the key motivations for reverse engineering techniques devoted to retrieving the actual business process models supported by the existing information systems [17, 20]. Reverse engineering techniques for obtaining business process models are often less error-prone and time-consuming than manual (re-)modeling from scratch. However, reverse engineering techniques imply an inherent semantic loss due to the abstraction increase [2]. As a result, although outdated and misalignment problems are addressed, quality of the retrieved models is eroded. Reverse engineering techniques could retrieve, for example, incomplete or inaccurate business process models (i.e., with missing and wrong elements), or even modes with inadequate understandability and modifiability levels (e.g., with a vast amount of fine-grained and ambiguity elements) [7]. In order to cope with understandability and modifiability faults, refactoring of business process models has been widely used [7]. These techniques change the internal structure of business process models without altering or modifying their external behavior. There exist in literature several refactoring approaches to be applied with business process models [3, 11, 21]. Unfortunately, there are no refactoring techniques specially developed for those models obtained through reverse engineering and some of their peculiarities such as missing elements, mining of non-relevant elements, fine granularity, and so on. In addition to this drawback, the main problem is that current refactoring techniques often apply several refactoring operators to deal with different bad smells, i.e., refactoring opportunities (e.g., non-relevant elements, fine- grained elements, etc.). The application of different refactoring operators is commonly done in an arbitrary way [7]. Nevertheless, it has been demonstrated that the order and subset of refactoring operators lead to different results in terms of the understandability and modifiability gain [6]. This paper therefore focuses on the assessment and optimization of the understandability of business process models during refactoring. Hence, this paper tries to provide a set of arguments and insights through empirical validation so