Mining the Usage of Reactive Programming APIs: A Study on GitHub and Stack Overflow
Publication date
2022
Editors
Advisors
Supervisors
Document Type
Part of book
Metadata
Show full item recordCollections
License
taverne
Abstract
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.
Keywords
API Usability, Mining Software Repositories, Reactive Programming, Taverne, Software, Information Systems and Management, Safety, Risk, Reliability and Quality
Citation
Zimmerle, C, Gama, K, Castor, F & Filho, J M M 2022, Mining the Usage of Reactive Programming APIs : A Study on GitHub and Stack Overflow. in MSR '22 : Proceedings of the 19th International Conference on Mining Software Repositories. Proceedings - 2022 Mining Software Repositories Conference, MSR 2022, Association for Computing Machinery, pp. 203-214, 2022 Mining Software Repositories Conference, MSR 2022, Pittsburgh, United States, 23/05/22. https://doi.org/10.1145/3524842.3527966, conference