SECO-RCR: A Tool to Manage Requirements Change in Software Ecosystems

Resumo


Software ecosystems (SECO) are becoming a predominant mode of modern software development and can be defined from different perspectives. From a project perspective, SECO are groups of projects that are developed and co-evolved in the same environment. SECO introduced complexity into requirements management, which is a key process of requirements engineering (RE) and an effective way to ensure software quality. There is difficulty in managing requirements change in open and dynamic environments such as SECO due to the existence of multiple stakeholders that can form distinct crowds in the ecosystem. In SECO, a crowd is a large and heterogeneous user base that provides requirements through multiple communication channels. Hence, meeting the expectations of distinct crowds in SECO requires new RE approaches. This paper presents a tool called Software Ecosystems - Requirements Change Request (SECO-RCR) that applies software repository mining, natural language processing techniques, and machine learning to support requirements change management in SECO. SECO-RCR allows requirements managers to define different RCR and consult different crowds to assist them in their decision making. Apresentação (Youtube): https://youtu.be/2OgCRvrA1Ec

Palavras-chave: Requirements Change, Requirements Management, Software Ecosystems, GitHub

Referências

Ghadah Alamer and Sultan Alyahya. 2023. A Proposed Approach to Crowd Selection in Crowdsourced Requirements Engineering for Mobile Apps. In Proceedings of the 7th International Conference on Information Systems Engineering. Association for Computing Machinery, New York, NY, USA, 1–5. DOI: 10.1145/3573926.3573927

Dimo Angelov. 2020. Top2Vec: Distributed Representations of Topics. arXiv:2008.09470 [cs.CL]

Jakob Axelsson and Mats Skoglund. 2016. Quality assurance in software ecosystems: A systematic literature mapping and research agenda. Journal of Systems and Software 114 (2016), 69–81. DOI: 10.1016/j.jss.2015.12.020

Vittorio Dal Bianco, Varvana Myllärniemi, Marko Komssi, and Mikko Raatikainen. 2014. The Role of Platform Boundary Resources in Software Ecosystems: A Case Study. In 2014 IEEE/IFIP Conference on Software Architecture. 11–20. DOI: 10.1109/WICSA.2014.41

Christopher Bogart, Christian Kästner, James Herbsleb, and Ferdian Thung. 2016. How to break an API: cost negotiation and community values in three software ecosystems. In 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (Seattle, WA, USA). Association for Computing Machinery, New York, NY, USA, 109–120. DOI: 10.1145/2950290.2950325

Zhifei Chen, Wanwangying Ma, Lin Chen, and Wei Song. 2022. Collaboration in software ecosystems: A study of work groups in open environment. Information and Software Technology 145 (2022), 106849. DOI: 10.1016/j.infsof.2022.106849

Daniela Damian, Johan Linåker, David Johnson, Tony Clear, and Kelly Blincoe. 2021. Challenges and Strategies for Managing Requirements Selection in Software Ecosystems. IEEE Software 38, 6 (2021), 76–87. DOI: 10.1109/MS.2021.3105044

Iris Figalist, Christoph Elsner, Jan Bosch, and Helena Holmström Olsson. 2019. Scaling Agile Beyond Organizational Boundaries: Coordination Challenges in Software Ecosystems. In Agile Processes in Software Engineering and Extreme Programming. Springer, Cham, 189–206. DOI: 10.1007/978-3-030-19034-7_12

Oscar Franco-Bedoya, David Ameller, Dolors Costal, and Xavier Franch. 2017. Open source software ecosystems: A Systematic mapping. Information and Software Technology 91 (2017), 160–185. DOI: 10.1016/j.infsof.2017.07.007

Bachan Ghimire, Ze Shi Li, and Daniela Damian. 2024. Understanding User Feedback in Software Ecosystems: A Study on Challenges and Mitigation Strategies. In Software Business, Sami Hyrynsalmi, Jürgen Münch, Kari Smolander, and Jorge Melegati (Eds.). Springer Nature Switzerland, Cham, 132–147. DOI: 10.1007/978-3-031-53227-6_10

Slinger Jansen. 2020. A focus area maturity model for software ecosystem governance. Information and Software Technology 118 (2020), 106219. DOI: 10.1016/j.infsof.2019.106219

David Johnson, James Tizard, Daniela Damian, Kelly Blincoe, and Tony Clear. 2020. Open CrowdRE Challenges in Software Ecosystems. In 2020 4th International Workshop on Crowd-Based Requirements Engineering (CrowdRE). 1–4. DOI: 10.1109/CrowdRE51214.2020.00007

Eric Knauss, Grischa Liebel, Jennifer Horkoff, Rebekka Wohlrab, Rashidah Kasauli, Filip Lange, and Pierre Gildert. 2018. T-Reqs: Tool Support for Managing Requirements in Large-Scale Agile System Development. In 2018 IEEE 26th International Requirements Engineering Conference (RE). 502–503. DOI: 10.1109/RE.2018.00073

Eric Knauss, Aminah Yussuf, Kelly Blincoe, Daniela Damian, and Alessia Knauss. 2018. Continuous clarification and emergent requirements flows in opencommercial software ecosystems. Requirements Engineering 23, 1 (2018), 97–117. DOI: 10.1007/s00766-016-0259-1

Shi Jing Koh and Fang Fang Chua. 2023. ReqGo: A Semi-Automated Requirements Management Tool. International Journal of Technology 14, 4 (2023), 713.

Johan Linåker, Björn Regnell, and Daniela Damian. 2020. A method for analyzing stakeholders’ influence on an open source software ecosystem’s requirements engineering process. Requirements Engineering 25, 1 (2020), 115–130. DOI: 10.1007/s00766-019-00310-3

Domia Lloyd, Ramadan Moawad, and Mona Kadry. 2017. A supporting tool for requirements change management in distributed agile development. Future Computing and Informatics Journal 2, 1 (2017), 1–9. DOI: 10.1016/j.fcij.2017.04.001

Mircea Lungu, Michele Lanza, Tudor Gîrba, and Romain Robbes. 2010. The Small Project Observatory: Visualizing software ecosystems. Science of Computer Programming 75, 4 (2010), 264–275. DOI: 10.1016/j.scico.2009.09.004

Christopher D. Manning, Prabhakar Raghavan, and Hinrich Schütze. 2008. Introduction to Information Retrieval. Cambridge University Press, Cambridge, UK. [link]

Gabriel Matute, Alvin Cheung, and Sarah Chasins. 2021. Change in Software Ecosystems. In Plateau Workshop. DOI: 10.1184/R1/19799314.v1

Tom Mens and Coen De Roover. 2023. An Introduction to Software Ecosystems. Springer International Publishing, Cham, 1–29. DOI: 10.1007/978-3-031-36060-2_1

Fabian Pedregosa, Gaël Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Peter Prettenhofer, RonWeiss, Vincent Dubourg, Jake Vanderplas, Alexandre Passos, David Cournapeau, Matthieu Brucher, Matthieu Perrot, and Édouard Duchesnay. 2011. Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research 12, null (nov 2011), 2825–2830.

Nils Reimers and Iryna Gurevych. 2019. Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. In 2019 Conference on Empirical Methods in Natural Language Processing. Association for Computational Linguistics. DOI: 10.48550/arXiv.1908.10084

Kati Saarni and Marjo Kauppinen. 2021. Requirements Engineering in the Planning Phase of a Software Ecosystem. In Requirements Engineering: Foundation for Software Quality, Fabiano Dalpiaz and Paola Spoletini (Eds.). Springer International Publishing, Cham, 133–148. DOI: 10.1007/978-3-030-73128-1_10

Rodrigo Santos, Eleni Constantinou, Pablo Antonino, and Jan Bosch. 2024. Software Engineering for Systems-of-Systems and Software Ecosystems. Information and Software Technology 165 (2024), 107335. DOI: 10.1016/j.infsof.2023.107335

Marco Tulio Valente. 2020. Engenharia de Software Moderna: Princípios e Práticas para Desenvolvimento de Software com Produtividade. Universidade Federal de Minas Gerais.

Aparna Vegendla, Anh Nguyen Duc, Shang Gao, and Guttorm Sindre. 2018. A Systematic Mapping Study on Requirements Engineering in Software Ecosystems. Journal of Information Technology Research (JITR) 11, 1 (2018), 49–69. DOI: 10.4018/JITR.2018010104
Publicado
30/09/2024
GONÇALVES, Eduardo dos Santos; MALCHER, Paulo; MORAES, Laura O.; VIANA, Davi; SANTOS, Rodrigo Pereira dos. SECO-RCR: A Tool to Manage Requirements Change in Software Ecosystems. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 38. , 2024, Curitiba/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2024 . p. 782-788. DOI: https://doi.org/10.5753/sbes.2024.3606.