2024-06-25 ノースカロライナ州立大学(NCState)
<関連情報>
- https://news.ncsu.edu/2024/06/nfr-performance-security/
- https://andersonjso.github.io/preprints/fse24oliveira.pdf
非機能要件に関する開発者の議論と認識を理解する: スプリングエコシステムのケース
Understanding Developers’ Discussions and Perceptions on Non-functional Requirements: The Case of the Spring Ecosystem
ANDERSON OLIVEIRA, JOÃO CORREIA, WESLEY K. G. ASSUNÇÃO,JULIANA ALVES PEREIRA, RAFAEL DE MELLO, Brazil DANIEL COUTINHO, CAIO BARBOSA, PAULO LIBÓRIO, ALESSANDRO GARCIA,
32nd International Conference on the Foundations of Software Engineering Presented July 19,2024
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 77% 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.