Mining the Usage of Reactive Programming APIs: A Study on GitHub and Stack Overflow
Conventionally, callbacks and inversion of control have been the main tools to structure event-driven applications. Sadly, those patterns constitute a well-known source of design problems. The Reactive Programming (RP) paradigm has arisen as an approach to mitigate these problems. Yet, little evidence has been provided regarding the advantages of RP, and concerns have also arisen about the API usability of RP libraries given their disparate number of operators. In this work, we conduct a study on GitHub (GH) and Stack Overflow (SO) and explore three Reactive Extensions (Rx) libraries (RxJava, RxJS, and RxSwift) with the most GH projects to understand how much the vast Rx operators are being used. Also, we examine Rx SO posts to complement the results from the GH exploration by understanding the problems faced by RP developers and how they relate with the operators’ frequencies found in open source projects. Results reveal that, in spite of its API size, the great majority of the Rx operators are actually being used (95.2%), with only a few, mostly related to RxJava, not being utilized. Also, we unveil 23 topics from SO with more posts concerning the Stream Abstraction (36.4%). Posts related to Dependency Management, Introductory Questions, and iOS Development figure as relevant topics to the community. The findings herein present can not only stimulate advancements in the field by understanding the usage of RP API and the main problems faced by developers, but also help newcomers in identifying the most important operators and the areas that are the most likely to be relevant for a RP application.
Wed 18 MayDisplayed time zone: Eastern Time (US & Canada) change
14:00 - 14:50 | Session 5: Communication & Domains Data and Tool Showcase Track / Technical Papers at MSR Main room - even hours Chair(s): Masud Rahman Dalhousie University, Mahmoud Alfadel University of Waterloo | ||
14:00 7mTalk | Painting the Landscape of Automotive Software in GitHub Technical Papers Sangeeth Kochanthara Eindhoven University of Technology, Yanja Dajsuren Eindhoven University of Technology, Loek Cleophas Eindhoven University of Technology (TU/e) and Stellenbosch University (SU), Mark van den Brand Eindhoven University of Technology Pre-print Media Attached | ||
14:07 7mFull-paper | Mining the Usage of Reactive Programming APIs: A Study on GitHub and Stack Overflow Technical Papers Carlos Zimmerle Federal University of Pernambuco, Kiev Gama Federal University of Pernambuco, Fernando Castor Utrecht University & Federal University of Pernambuco, José Murilo Filho Federal University of Pernambuco DOI Pre-print | ||
14:14 4mTalk | SoCCMiner: A Source Code-Comments and Comment-Context Miner Data and Tool Showcase Track Murali Sridharan University of Oulu, Mika Mäntylä University of Oulu, Maëlick Claes University of Oulu, Leevi Rantala University of Oulu Pre-print | ||
14:18 4mTalk | SLNET: A Redistributable Corpus of 3rd-party Simulink Models Data and Tool Showcase Track Sohil Lal Shrestha The University of Texas at Arlington, Shafiul Azam Chowdhury University of Texas at Arlington, Christoph Csallner University of Texas at Arlington DOI Pre-print Media Attached | ||
14:22 4mTalk | SOSum: A Dataset of Stack Overflow Post Summaries Data and Tool Showcase Track Bonan Kou Purdue University, Yifeng Di Purdue University, Muhao Chen University of Southern California, Tianyi Zhang Purdue University | ||
14:26 4mTalk | Inspect4py: A Knowledge Extraction Framework for Python Code Repositories Data and Tool Showcase Track | ||
14:30 4mTalk | DISCO: A Dataset of Discord Chat Conversations for Software Engineering Research Data and Tool Showcase Track Keerthana Muthu Subash Carleton University, Canada, Lakshmi Prasanna Kumar Carleton University, Canada, Sri Lakshmi Vadlamani Carleton University, Canada, Preetha Chatterjee Drexel University, USA, Olga Baysal Carleton University DOI Pre-print Media Attached | ||
14:34 16mLive Q&A | Discussions and Q&A Technical Papers |