Abstract
We propose a novel strategy based on technological watch (TW) to identify the state-of-the-art techniques of software development projects. Taking as a starting point the data analysis of the GitHub platform using the VigHub tool, technological maps that describe the development and evolution of software projects, and perspectives of specific technologies are obtained. The proposed strategy was tested in a case study about virtual judge projects for programming. When analyzing the GitHub data, four main technological maps were obtained: programming languages, topic evolution timeline, successful projects, and successful users and organizations. This article shows how the use of the developed strategy supports the identification of the state-of-the-art software techniques. This facilitates the appropriate identification of ideas, source code, and tools that can support and improve the software development, expanding the creation of strategies to support the decision-making process on new development projects and technological inventions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Entonado, F.B., et al.: Sociedad de la información y educación. Ciencia y Tecnología. Junta de Extremadura, Consejería de Educación (2001)
Saaty, T.L.: Decision making with the analytic hierarchy process. Int. J. Serv. Sci. 1(1), 83–98 (2008)
Dubey, A., Wagle, D.: Delivering software as a service. McKinsey Q. 6(2007), 1–7 (2007)
Erickson, J., Lyytinen, K., Siau, K.: Agile modeling, agile software development, and extreme programming: the state of research. J. Database Manag. 16(4), 88 (2005)
Hood, W.W., Wilson, C.S.: The scatter of documents over databases in different subject domains: how many databases are needed? J. Assoc. Inf. Sci. Technol. 52(14), 1242–1254 (2001)
Gonzalez-Diaz, C., Iglesias-Garcia, M., Martin Llaguno, M., Gonzalez-Pacanowski, A., et al.: Antecedentes y estado de la cuestión sobre los repositorios institucionales de contenido educativo (RICE) (2015)
Hood, W.W., Wilson, C.S.: Overlap in bibliographic databases. J. Assoc. Inf. Sci. Technol. 54(12), 1091–1103 (2003)
Zarta, R.H., et al.: Vigilancia tecnológica y análisis del ciclo de vida de la tecnología: evaluación del potencial comercial de un prototipo de guantes biodegradables a partir de almidón termoplástico de yuca. Revista ESPACIOS 37(13), 27–45 (2016)
Rivero, Y., Sanches, M., Suárez, Y.: Evaluation model for the software using metric indicators to science and technology surveillance. ACIMED 20(6), 125–140 (2009)
Tramullas, J., Giménez López, M.: Evaluación de software libre para la gestión de bibliografía (2007)
Singh Chawla, D.: The unsung heroes of scientific software. Nat. News 529(7584), 115 (2016). https://doi.org/10.1038/529115a
Escorsa, P., Maspons, R., Rodríguez, M.: Technology mapping, business strategy and market opportunities. The case of the textiles for medical uses (Mapas technológicos, estrategia empresarial y oportunidades de mercado. El caso de los textiles para usos médicos) (2000)
Bandrowski, A., et al.: The resource identification initiative: a cultural shift in publishing. J. Comp. Neurol. 524(1), 8–22 (2016). https://doi.org/10.12688/f1000research.6555.1
Harzing, A.W., Alakangas, S.: Google scholar, scopus and the web of science: a longitudinal and cross-disciplinary comparison. Scientometrics 106(2), 787–804 (2016)
Mongeon, P., Paul-Hus, A.: The journal coverage of web of science and scopus: a comparative analysis. Scientometrics 106(1), 213–228 (2016)
Abbas, A., Zhang, L., Khan, S.U.: A literature review on the state-of-the-art in patent analysis. World Pat. Inf. 37, 3–13 (2014)
Mazieri, M.R., Quoniam, L., Santos, A.M.: Innovation from the patent information: proposition model open source patent information extraction (crawler). J. Manag. Technol. 16(1), 76–112 (2016)
Github: Github Octoverse 2017 (2017). https://octoverse.github.com/
Google Developers: REST API v3 (2018). https://developer.github.com/v3/
Spacy: Industrial-strength natural language processing (2018). https://spacy.io/
Google Developers: Google charts (2018). https://developers.google.com/chart/
Al Shalabi, L., Shaaban, Z., Kasasbeh, B.: Data mining: a preprocessing engine. J. Comput. Sci. 2(9), 735–739 (2006)
Kurnia, A., Lim, A., Cheang, B.: Online judge. Comput. Educ. 36(4), 299–315 (2001)
Douce, C., Livingstone, D., Orwell, J.: Automatic test-based assessment of programming: a review. J. Educ. Resour. Comput. (JERIC) 5(3), 4 (2005)
Ihantola, P., Ahoniemi, T., Karavirta, V., Seppälä, O.: Review of recent systems for automatic assessment of programming assignments. In: Proceedings of the 10th Koli Calling International Conference on Computing Education Research, pp. 86–93. ACM (2010)
Cheang, B., Kurnia, A., Lim, A., Oon, W.C.: On automated grading of programming assignments in an academic institution. Comput. Educ. 41(2), 121–131 (2003)
Hidalgo, C., Bucheli, V.: Computing colombian conference. In: Society in computational intelligence (CI). Herramienta tecnológica de VT para GitHub. pp. 131–133 (2016)
Hidalgo, C.G., Bucheli, V.A.: Séptimo congreso internacional de computación cicom. In: Maily, Q., Lorena, M. (eds.) VIGHUB: herramienta prototipo para el apoyo de la vigilancia tecnológica en el campo de desarrollo del software. pp. 231–245. FAbbecor.ong (2017)
Sphere Research Labs: Sphere online judge (2009). http://www.spoj.com/
Baylor University: The ACM International Collegiate Programming Contest (ICPC) (2001). https://icpc.baylor.edu/
ZUA Team: ZOJ (2001). http://acm.zju.edu.cn/
Hit moodle: onlinejudge (2011). http://cms.hit.edu.cn/
LeetCode: Leetcode (2001). https://leetcode.com/
Aurora: Aurora (2013). https://aurora.pushkaranand.com/
Naver02: lavida (2013). http://judge.lavida.us/
Google: Project-lemon (2011). https://code.google.com/archive/p/project-lemon/
weizengke: Gdoj: the programming contest web 1.2 platform & judge kernel v100r001c00b100 version (2011). http://debugforces.com/
Instituto Nacional de Investigación de la Educación Superior AiCaiEnet Facultad de Informática y Tecnología, U.d.Z.: Pat (programming ability test) (2012). https://www.patest.cn/
Ying, F., Xu, P., Xie, D.: PKU judgeonline (2013). http://poj.org/
Google: Code Jam (2009). https://code.google.com/codejam/about
hihoCoder Hu ICP: hihocoder (2010). http://www.hihocoder.com/
Telegram: Codeforces (2010). http://codeforces.com/
onion: DMOJ: modern online judge! (2010). https://dmoj.ca/
mjnaderi: Sharif judge (2011). https://github.com/mjnaderi/Sharif-Judge/tree/docs
CenaPlus: Cenaplus (2003). https://github.com/CenaPlus/CenaPlus
Kattis: Kattis online judge (2015). https://github.com/Kattis/kattis-cli
Start Link: Baekjoon online judge (2015). https://www.acmicpc.net/
Nodejs: Judge girl (2015). https://judgegirl.csie.org/
Aglio: Judge0 API (2016). https://api.judge0.com/
hnshhslsh: virtual-judge (2016). https://github.com/hnshhslsh/virtual-judge
vfleaking: UOJ (universal online judge) (2016). https://github.com/vfleaking/uoj
tokers: sabo (2016). https://github.com/tokers/sabo
Qingdao University: Onlinejudge (2015). https://docs.onlinejudge.me/
Proling: camisole is a secure online judge for CS teachers (2016). https://camisole.prologin.org/
Entropy-xcy: Rankface (2017). https://github.com/Entropy-xcy/RankFace
yudazilian: Sunnyjudge (2017). https://github.com/yudazilian/SunnyJudge
nileshsah: Algorithms (2015). https://github.com/nileshsah/Algorithms
gshopov: Competitive-programming-archive (2017). https://github.com/gshopov/competitive-programming-archive
Otrebus: Timus (2017). https://github.com/Otrebus/timus
sugarac: Angular online judge (2017). https://github.com/sugarac/angular-online-judge
acm309: PutongOJ (2017). https://github.com/acm309/PutongOJ
cqlzx: Collaborative online judger (2017). https://github.com/cqlzx/collaborative-online-judger
Qingdao University: Onlinejudgefe (2011). https://github.com/QingdaoU/OnlineJudgeFE
Speedie, S.M., Treffinger, D.J., Houtz, J.C.: Classification and evaluation of problem-solving tasks. Contemp. Educ. Psychol. 1(1), 52–75 (2008). https://doi.org/10.1016/0361-476X(76)90007-2
anchetaWern: php-webscraping.md (2014). https://gist.github.com/anchetaWern/6150297
GitHub: Awards (2018). http://github-awards.com
DaDaMrX: Xoj (2013). https://github.com/DaDaMrX/XOJ
Zhejiang Gongshang University: Goonlinejudge (2015). https://github.com/ZJGSU-Open-Source/GoOnlineJudge
sxyzccr: CCR-Plus (2016). https://github.com/sxyzccr/CCR-Plus
rqy1458814497: RLJ (2012). https://github.com/rqy1458814497/RLJ
luogu dev: CYaRon (2015). https://github.com/luogu-dev/cyaron
hawx1993: Judge (2017). https://github.com/hawx1993/judge
Open fightcoder: virtual judge (2011). https://github.com/open-fightcoder/virtual-judge
Acknowledgements
We thank the Universidad del Valle, Faculty of Engineering, Systems and Information Engineering School and the fundation CEIBA (Centro de Estudios Interdisciplinarios Básicos y Aplicados) Nariño.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Hidalgo Suarez, C.G., Bucheli, V.A., Restrepo-Calle, F., Gonzalez, F.A. (2018). A Strategy Based on Technological Maps for the Identification of the State-of-the-Art Techniques in Software Development Projects: Virtual Judge Projects as a Case Study. In: Serrano C., J., Martínez-Santos, J. (eds) Advances in Computing. CCC 2018. Communications in Computer and Information Science, vol 885. Springer, Cham. https://doi.org/10.1007/978-3-319-98998-3_27
Download citation
DOI: https://doi.org/10.1007/978-3-319-98998-3_27
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-98997-6
Online ISBN: 978-3-319-98998-3
eBook Packages: Computer ScienceComputer Science (R0)