Mining the Usage of Reactive Programming APIs: A Study on GitHub and Stack Overflow

Publication date

2022

Authors

Zimmerle, Carlos
Gama, Kiev
Castor, FernandoORCID 0000-0002-6389-3630ISNI 0000000071758661
Filho, Jose Murilo Mota

Editors

Advisors

Supervisors

Document Type

Part of book
Open Access logo

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