QuantityEr: An extensible and simple solution to obtain the amount of results of complex queries to GitHub

Keywords: search results amount, GitHub, inclusion-exclusion principle, object oriented programming, Python

Abstract

GitHub is a platform that provides hosting for software development version control using Git. It features an application programming interface to allow the software to interact with the platform. The enormous quantity of information Hosted in GitHub may be useful to make studies about the current presence of development tools in the open-source software development community. However, the search engine has restrictions that make it impossible to issue complex queries to the platform. In this report, it is described as an object-oriented and extensible solution, named QuantityEr, to obtain the number of search results of complex queries to GitHub by using the inclusion-exclusion principle. The mathematical definitions, as well as related concepts, are presented. The mathematical model is discussed. The application of general design and used development tools are presented. Also, the results of the execution examples are showed. It is concluded that the treated problem has been solved although more work may be done to improve the solution.

Downloads

Download data is not yet available.

References

C. Dawson and B. Straub, Building Tools with GitHub: Customize Your Workflow, 1st ed. O’Reilly Media, Inc., 2016.

——, “Python and the Search API,” in Building Tools with GitHub: Customize Your Workflow, 1st ed. O’Reilly Media, Inc., 2016, pp. 53–80.

S. Amann, S. Beyer, K. Kevic, and H. Gall, “Software Mining Studies: Goals, Approaches, Artifacts, and Replicability,” in Software Engineering: International Summer Schools, LASER 2013-2014, Elba, Italy, Revised Tutorial Lectures, ser. Lecture Notes in Computer Science, B. Meyer and M. Nordio, Eds. Cham: Springer International Publishing, 2015, pp. 121–158. [Online]. Available: https://doi.org/10.1007/978-3-319-28406-4_5

M. Beller, R. Bholanath, S. McIntosh, and A. Zaidman, “Analyzing the State of Static Analysis: A Large- Scale Evaluation in Open Source Software,” in 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol. 1, Mar. 2016, pp. 470–481.

Y. Zhang, G. Yin, Y. Yu, and H. Wang, “Investigating Social Media in GitHub’s Pull-requests: A Case Study on Ruby on Rails,” in Proceedings of the 1st International Workshop on Crowd-based Software Development Methods and Technologies, ser. CrowdSoft 2014. New York, NY, USA: ACM, 2014, pp. 37–41, event-place: Hong Kong, China. [Online]. Available: http://doi.acm.org/10.1145/2666539.2666572

——, “A Exploratory Study of @-Mention in GitHub’s Pull-Requests,” in 2014 21st Asia-Pacific Software Engineering Conference, vol. 1, Dec. 2014, pp. 343–350.

A. A. Sawant and A. Bacchelli, “fine-GRAPE: fine-grained APi usage extractor – an approach and dataset to investigate API usage,” Empirical Software Engineering, vol. 22, no. 3, pp. 1348–1371, Jun. 2017. [Online]. Available: https://doi.org/10.1007/s10664-016-9444-6

G. Gousios, B. Vasilescu, A. Serebrenik, and A. Zaidman, “Lean GHTorrent: GitHub Data on Demand,” in Proceedings of the 11th Working Conference on Mining Software Repositories, ser. MSR 2014. New York, NY, USA: ACM, 2014, pp. 384–387, event-place: Hyderabad, India.

J. W. Grossman, “Functions,” in Handbook of Discrete and Combinatorial Mathematics, 2nd ed., K. H. Rosen, Ed. Chapman & Hall/CRC, 2018, pp. 32–42.

——, “Propositional and Predicate Logic,” in Handbook of Discrete and Combinatorial Mathematics, 2nd ed., K. H. Rosen, Ed. Chapman & Hall/CRC, 2018, pp. 12–22.

——, “Set Theory,” in Handbook of Discrete and Combinatorial Mathematics, 2nd ed., K. H. Rosen, Ed. Chapman & Hall/CRC, 2018, pp. 22–32.

REVISTA INNOVACIÓN Y SOFTWARE VOL 1 Nº 1 Marzo - Agosto 2020 ISSN Nº 2708-0935

R. Johnsonbaugh, “Boolean Algebras and Combinatorial Circuits,” in Discrete Mathematics, 8th ed. New York, NY: Pearson, 2017, pp. 532–567.

——, “Sets and logic,” in Discrete Mathematics, 8th ed. New York, NY: Pearson, 2017, pp. 1–61.

J. G. Michaels, “Boolean Algebras,” in Handbook of Discrete and Combinatorial Mathematics, 2nd ed., K. H. Rosen, Ed. Chapman & Hall/CRC, 2018, pp. 269–379.

R. G. Rieper, “Inclusion/Exclusion,” in Handbook of Discrete and Combinatorial Mathematics, 2nd ed., K. H. Rosen, Ed. Chapman & Hall/CRC, 2018, pp. 110–116.

Received: 2019-12-03
Accepted: 2019-12-20
Published: 2020-03-30
How to Cite
[1]
E. Soto Gómez, “QuantityEr: An extensible and simple solution to obtain the amount of results of complex queries to GitHub”, Innov. softw., vol. 1, no. 1, pp. 11-25, Mar. 2020.
Section
Journal papers