TU Darmstadt / ULB / TUbiblio

Automated Refactoring to Reactive Programming

Köhler, Mirco and Salvaneschi, Guido (2019):
Automated Refactoring to Reactive Programming.
In: ASE'19 - The 34th International Conference on Automated Software Engineering, San Diego, Ca, USA, November 10.-15.,2019, DOI: 10.1109/ASE.2019.00082,
[Online-Edition: https://2019.ase-conferences.org/],
[Conference or Workshop Item]

Abstract

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.

Item Type: Conference or Workshop Item
Erschienen: 2019
Creators: Köhler, Mirco and Salvaneschi, Guido
Title: Automated Refactoring to Reactive Programming
Language: English
Abstract:

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.

Journal or Publication Title: ASE2019
Uncontrolled Keywords: Engineering; E5
Divisions: 20 Department of Computer Science
20 Department of Computer Science > Software Technology
DFG-Collaborative Research Centres (incl. Transregio)
DFG-Collaborative Research Centres (incl. Transregio) > Collaborative Research Centres
Profile Areas
Profile Areas > Cybersecurity (CYSEC)
DFG-Collaborative Research Centres (incl. Transregio) > Collaborative Research Centres > CRC 1119: CROSSING – Cryptography-Based Security Solutions: Enabling Trust in New and Next Generation Computing Environments
Event Title: ASE'19 - The 34th International Conference on Automated Software Engineering
Event Location: San Diego, Ca, USA
Event Dates: November 10.-15.,2019
Date Deposited: 20 Dec 2019 11:47
DOI: 10.1109/ASE.2019.00082
Official URL: https://2019.ase-conferences.org/
Related URLs:
Export:
Suche nach Titel in: TUfind oder in Google
Send an inquiry Send an inquiry

Options (only for editors)

View Item View Item