Understanding Developers' Discussions and Perceptions on Non-functional Requirements: The Case of the Spring Ecosystem
Anderson Oliveira, João Lucas Correia, Wesley K. G. Assunção, Juliana Alves Pereira, Rafael Maiani de Mello, Daniel Coutinho, Caio Barbosa, Paulo Vítor C. F. Libório, Alessandro Garcia
Abstract
Non-Functional Requirements (NFRs) should be defined in the early stages of the software development process, driving developers to make important design decisions. Neglecting NFRs may lead developers to create systems that are difficult to maintain and do not meet users expectations. Despite their importance, the discussion of NFRs is often ad-hoc and scattered through multiple sources, limiting developers’ awareness of NFRs. In that scenario, Pull Request (PR) discussions provide a centralized platform for comprehensive NFR discussions. However, existing studies do not explore this important source of information in open-source software development, which developers widely use to discuss software requirements. In this study, we report an investigation of NFR discussions in PRs of repositories of the Spring ecosystem. We collected, manually curated, and analyzed PR discussions addressing four categories of NFRs: maintainability, security, performance, and robustness. We observed that discussions surrounding these PRs tend to address the introduction of a code change or explain some anomaly regarding a particular NFR. Also, we found that more than <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="inline"> mml:mn77</mml:mn> mml:mo%</mml:mo> </mml:math> of the discussions related to NFRs are triggered in the PR title and/or description, indicating that developers are often provided with information regarding NFRs straightway. To gain additional knowledge from these NFR discussions, our study also analyzed the characteristics and activities of developers who actually discuss and fix NFR issues. In particular, we performed an in-depth analysis of 63 developers that stood out in collaborating with the mapped PRs. To complement this analysis, we conducted a survey with 44 developers to gather their perceptions on NFR discussions. By observing how developers approach NFRs and participate in discussions, we documented the best practices and strategies newcomers can adopt to address NFRs effectively. We also provided a curated dataset of 1,533 PR discussions classified with NFR presence.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Related papers
- "@alex, this fixes #9": Analysis of Referencing Patterns in Pull Request DiscussionsAshish Chopra, Morgan Mo, Samuel Dodson, Ivan Beschastnikh et al.CSCW 2021 · 13 citations
- Opportunities and Challenges in Repeated Revisions to Pull-Requests: An Empirical StudyZhixing Li, Yue Yu, Tao Wang, Shanshan Li et al.CSCW 2022 · 11 citations
- Understanding Feature Request Practice on GitHub via a Large-Scale Empirical StudyJiajun Li, Wenhua Yang, Minxue Pan, Yu ZhouASE 2025
- Don't Disturb Me: Challenges of Interacting with Software Bots on Open Source Software ProjectsMairieli Santos Wessel, Igor Wiese, Igor Steinmacher, Marco Aurélio GerosaCSCW 2021 · 5 citations
- Analyzing and Debugging Normative Requirements via Satisfiability CheckingNick Feng, Lina Marsso, Sinem Getir Yaman, Yesugen Baatartogtokh et al.ICSE 2024 · 13 citations
