QuantityEr: Una solución simple y extensible para obtener la cantidad de resultados de consultas complejas a GitHub

Palabras clave: cantidad de resultados de búsqueda, GitHub, principio de inclusión-exclusión, programación orientada a objetos, Python

Resumen

GitHub es una plataforma que proporciona alojamiento para el control de versiones de desarrollo de software utilizando Git. Cuenta con una interfaz de programación de aplicaciones para permitir que el software interactúe con la plataforma. La enorme cantidad de información alojada en GitHub puede ser útil para realizar estudios sobre la presencia actual de herramientas de desarrollo en la comunidad de desarrollo de software de código abierto. Sin embargo, el motor de búsqueda posee restricciones que hacen imposible emitir consultas complejas a la plataforma. En este informe, se describe una solución extensible y orientada a objetos, llamada QuantityEr, para obtener la cantidad de resultados de búsqueda de consultas complejas a GitHub utilizando el principio de inclusión-exclusión. Se presentan las definiciones matemáticas y los conceptos relacionados. Se discute el modelo matemático. Se presentan el diseño general de la aplicación y las herramientas de desarrollo utilizadas. Además, son mostrados resultados de ejemplos de ejecución. Se concluye que el problema tratado ha sido resuelto aunque se puede trabajar para mejorar la solución.

Descargas

La descarga de datos todavía no está disponible.

Citas

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.

Recibido: 2019-12-03
Aceptado: 2019-12-20
Publicado: 2020-03-30
Cómo citar
[1]
E. Soto Gómez, «QuantityEr: Una solución simple y extensible para obtener la cantidad de resultados de consultas complejas a GitHub», Innov. softw., vol. 1, n.º 1, pp. 11-25, mar. 2020.
Sección
Artículos originales