Reactive programming languages and libraries, such as ReactiveX, have been shown to significantly improve software design and have seen important industrial adoption over the last years. Asynchronous applications – which are notoriously error-prone to implement and to maintain – greatly benefit from reactive programming because they can be defined in a declarative style, which improves code clarity and extensibility.
In this paper, we tackle the problem of refactoring existing code bases that are designed using traditional abstractions for asynchronous programming. We propose 2Rx, a refactoring tool to automatically convert asynchronous code to reactive programming. Our evaluation on top-starred GitHub projects shows that 2Rx is effective with the most common asynchronous constructs, covering ~94.7% of the projects with asynchronous computations, and it can provide a refactoring for ~91.7% of their occurrences.
Thu 14 NovDisplayed time zone: Tijuana, Baja California change
10:40 - 12:20 | Refactoring and Software ProductionResearch Papers / Industry Showcase / Demonstrations at Hillcrest Chair(s): Cyrille Artho KTH Royal Institute of Technology, Sweden | ||
10:40 20mTalk | RefBot: Intelligent Software Refactoring Bot Research Papers Vahid Alizadeh University of Michigan, Mohamed Amine Ouali University of Michigan, Marouane Kessentini University of Michigan, Meriem Chater University of Michigan | ||
11:00 20mTalk | Automated Refactoring to Reactive Programming Research Papers | ||
11:20 20mTalk | Trusted Software Supply Chain Industry Showcase Kapil Singi Accenture, R.P. Jagadeesh Chandra Bose Accenture Labs, Sanjay Podder Accenture, Adam P. Burden Accenture | ||
11:40 20mTalk | A Journey Towards Providing Intelligence and Actionable Insights to Development Teams in Software Delivery Industry Showcase Vibhu Saujanya Sharma Accenture Labs, Rohit Mehra Accenture Labs, India, Sanjay Podder Accenture, Adam P. Burden Accenture | ||
12:00 10mDemonstration | Prema: A Tool for Precise Requirements Editing, Modeling and Analysis Demonstrations Yihao Huang East China Normal University, Jincao Feng East China Normal University, Hanyue Zheng East China Normal University, Jiayi Zhu East China Normal University, Shang Wang East China Normal University, Siyuan Jiang Eastern Michigan University, Weikai Miao Shanghai Key Lab for Trustworthy Computing, School of Computer Science and Software Engineering, East China Normal University, Geguang Pu East China Normal University&Shanghai Trusted Industrial Control Platform Co., Ltd | ||
12:10 10mTalk | Empirical Study of Programming to an Interface Research Papers Benoit Verhaeghe INRIA, Christopher Fuhrman École de technologie supérieure, Nicolas Anquetil INRIA, Latifa Guerrouj École de Technologie Supérieure, Stéphane Ducasse INRIA Lille Pre-print Media Attached |