{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,4]],"date-time":"2026-02-04T21:00:54Z","timestamp":1770238854978,"version":"3.49.0"},"reference-count":53,"publisher":"Association for Computing Machinery (ACM)","issue":"FSE","license":[{"start":{"date-parts":[[2024,7,12]],"date-time":"2024-07-12T00:00:00Z","timestamp":1720742400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100003593","name":"CNPq","doi-asserted-by":"crossref","award":["140185\/2020-8, 140770\/2021-6, 141180\/2021-8, 434969\/2018-4, 312149\/2016-6, 141180\/2021-8, 140771\/2021-2"],"award-info":[{"award-number":["140185\/2020-8, 140770\/2021-6, 141180\/2021-8, 434969\/2018-4, 312149\/2016-6, 141180\/2021-8, 140771\/2021-2"]}],"id":[{"id":"10.13039\/501100003593","id-type":"DOI","asserted-by":"crossref"}]},{"name":"FAPERJ PDR-10","award":["202073\/2020"],"award-info":[{"award-number":["202073\/2020"]}]},{"DOI":"10.13039\/501100002322","name":"CAPES","doi-asserted-by":"crossref","award":["88887.904409\/2023-00"],"award-info":[{"award-number":["88887.904409\/2023-00"]}],"id":[{"id":"10.13039\/501100002322","id-type":"DOI","asserted-by":"crossref"}]},{"name":"CAPES\\\/Procad","award":["175956"],"award-info":[{"award-number":["175956"]}]},{"DOI":"10.13039\/501100004586","name":"FAPERJ","doi-asserted-by":"crossref","award":["010002285\/2019"],"award-info":[{"award-number":["010002285\/2019"]}],"id":[{"id":"10.13039\/501100004586","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. ACM Softw. Eng."],"published-print":{"date-parts":[[2024,7,12]]},"abstract":"<jats:p>\n                    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\u2019 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\n                    <jats:inline-formula>\n                      <mml:math xmlns:mml=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" display=\"inline\">\n                        <mml:mn>77<\/mml:mn>\n                        <mml:mo>%<\/mml:mo>\n                      <\/mml:math>\n                    <\/jats:inline-formula>\n                    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.\n                  <\/jats:p>","DOI":"10.1145\/3643750","type":"journal-article","created":{"date-parts":[[2024,7,12]],"date-time":"2024-07-12T10:22:09Z","timestamp":1720779729000},"page":"517-538","source":"Crossref","is-referenced-by-count":2,"title":["Understanding Developers\u2019 Discussions and Perceptions on Non-functional Requirements: The Case of the Spring Ecosystem"],"prefix":"10.1145","volume":"1","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-2530-8242","authenticated-orcid":false,"given":"Anderson","family":"Oliveira","sequence":"first","affiliation":[{"name":"PUC-Rio, Rio de Janeiro, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0005-1040-2577","authenticated-orcid":false,"given":"Jo\u00e3o","family":"Correia","sequence":"additional","affiliation":[{"name":"PUC-Rio, Rio de Janeiro, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7557-9091","authenticated-orcid":false,"given":"Wesley K. G.","family":"Assun\u00e7\u00e3o","sequence":"additional","affiliation":[{"name":"North Carolina State University, North Carolina, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0799-2829","authenticated-orcid":false,"given":"Juliana Alves","family":"Pereira","sequence":"additional","affiliation":[{"name":"PUC-Rio, Rio de Janeiro, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9877-3946","authenticated-orcid":false,"given":"Rafael","family":"de Mello","sequence":"additional","affiliation":[{"name":"Federal University of Rio de Janeiro, Rio de Janeiro, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4226-2458","authenticated-orcid":false,"given":"Daniel","family":"Coutinho","sequence":"additional","affiliation":[{"name":"PUC-Rio, Rio de Janeiro, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4288-3713","authenticated-orcid":false,"given":"Caio","family":"Barbosa","sequence":"additional","affiliation":[{"name":"PUC-Rio, Rio de Janeiro, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0006-0567-2908","authenticated-orcid":false,"given":"Paulo","family":"Lib\u00f3rio","sequence":"additional","affiliation":[{"name":"PUC-Rio, Rio de Janeiro, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5788-5215","authenticated-orcid":false,"given":"Alessandro","family":"Garcia","sequence":"additional","affiliation":[{"name":"PUC-Rio, Rio de Janeiro, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,7,12]]},"reference":[{"key":"e_1_3_1_2_1","doi-asserted-by":"publisher","DOI":"10.1002\/wics.1246"},{"key":"e_1_3_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/RE.2012.6345838"},{"key":"e_1_3_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/COMPSAC.2019.10275"},{"key":"e_1_3_1_5_1","doi-asserted-by":"publisher","unstructured":"Caio Barbosa Anderson Uch\u00f4a Filipe Falcao Daniel Coutinho Hyago Brito Guilherme Amaral Alessandro Garcia Baldoino Fonseca Marcio Ribeiro Vinicius Soares and Leonardo Sousa. 2020. Revealing the Social Aspects of Design Decay: A Retrospective Study of Pull Requests. In 34th SBES. 1\u201310. https:\/\/doi.org\/10.1145\/3422392.3422443 10.1145\/3422392.3422443","DOI":"10.1145\/3422392.3422443"},{"key":"e_1_3_1_6_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jii.2018.03.001"},{"key":"e_1_3_1_7_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.eswax.2019.100001"},{"key":"e_1_3_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/ARES.2016.98"},{"key":"e_1_3_1_9_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2009.10.010"},{"key":"e_1_3_1_10_1","doi-asserted-by":"publisher","unstructured":"Ranit Chatterjee Abdul Ahmed Preethu Rose Anish Brijendra Suman Prashant Lawhatre and Smita Ghaisas. 2021. A Pipeline for Automating Labeling to Prediction in Classification of NFRs. In 2021 IEEE 29th International Requirements Engineering Conference (RE). 323\u2013323. https:\/\/doi.org\/10.1109\/RE51729.2021.00036 10.1109\/RE51729.2021.00036","DOI":"10.1109\/RE51729.2021.00036"},{"key":"e_1_3_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/225014.225017"},{"key":"e_1_3_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4615-5269-7"},{"key":"e_1_3_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00766-007-0045-1"},{"key":"e_1_3_1_14_1","volume-title":"Basics of qualitative research: Techniques and procedures for developing grounded theory","author":"Corbin Juliet","year":"2014","unstructured":"Juliet Corbin and Anselm Strauss. 2014. Basics of qualitative research: Techniques and procedures for developing grounded theory. Sage publications."},{"key":"e_1_3_1_15_1","first-page":"1","article-title":"Introducing Spring","author":"Cosmina Iuliana","year":"2017","unstructured":"Iuliana Cosmina, Rob Harrop, Chris Schaefer, Clarence Ho, Iuliana Cosmina, Rob Harrop, Chris Schaefer, and Clarence Ho. 2017. Introducing Spring. Pro Spring 5: An In-Depth Guide to the Spring Framework and Its Tools (2017), 1\u201318.","journal-title":"Pro Spring 5: An In-Depth Guide to the Spring Framework and Its Tools"},{"key":"e_1_3_1_16_1","doi-asserted-by":"publisher","unstructured":"Sergio Cozzetti B de Souza Nicolas Anquetil and K\u00e1thia M de Oliveira. 2005. A study of the documentation essential to software maintenance. In Proceedings of the 23rd annual international conference on Design of communication: documenting & designing for pervasive information. 68\u201375. https:\/\/doi.org\/10.1145\/1085313.1085331 10.1145\/1085313.1085331","DOI":"10.1145\/1085313.1085331"},{"key":"e_1_3_1_17_1","unstructured":"Github. 2019. Optimize CacheKey handling in SpringIterableConfigurationPropertySource by dreis2211 \u00b7 Pull Request #16717 \u00b7 spring-projects\/spring-boot \u00b7 GitHub. https:\/\/github.com\/spring-projects\/spring-boot\/pull\/16717. (Accessed on 10\/21\/2022)."},{"key":"e_1_3_1_18_1","unstructured":"Github. 2020. Avoid unnecessary sorting overhead by dreis2211 \u00b7 Pull Request #24617 \u00b7 spring-projects\/spring-framework \u00b7 GitHub. https:\/\/github.com\/spring-projects\/spring-framework\/pull\/24617. (Accessed on 10\/21\/2022)."},{"key":"e_1_3_1_19_1","unstructured":"Github. 2022a. GitHub REST API-GitHub Docs. https:\/\/docs.github.com\/en\/rest. (Accessed on 10\/21\/2022)."},{"key":"e_1_3_1_20_1","unstructured":"Github. 2022b. GitHub: Where the world builds software \u00b7 GitHub. https:\/\/github.com\/. (Accessed on 10\/21\/2022)."},{"key":"e_1_3_1_21_1","unstructured":"Github. 2023. Available: https:\/\/docs.github.com\/en\/github\/collaborating-with-issues-and-pull-requests\/about-pull-requests."},{"key":"e_1_3_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/QRS54544.2021.00103"},{"key":"e_1_3_1_23_1","doi-asserted-by":"publisher","unstructured":"Georgios Gousios Martin Pinzger and Arie van Deursen. 2014. An exploratory study of the pull-based software development model. In Proceedings of the 36th international conference on software engineering. 345\u2013355. https:\/\/doi.org\/10.1145\/2568225.2568260 10.1145\/2568225.2568260","DOI":"10.1145\/2568225.2568260"},{"key":"e_1_3_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.55"},{"key":"e_1_3_1_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10586-021-03484-0"},{"key":"e_1_3_1_26_1","unstructured":"C. Hoskinson. 2011. Available: http:\/\/www.politico.com\/news\/stories\/0611\/58051.html."},{"key":"e_1_3_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/APSEC53868.2021.00018"},{"key":"e_1_3_1_28_1","doi-asserted-by":"publisher","DOI":"10.37190\/e-inf"},{"key":"e_1_3_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2017.23"},{"key":"e_1_3_1_30_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-015-9393-5"},{"key":"e_1_3_1_31_1","doi-asserted-by":"publisher","DOI":"10.1002\/smr.2430"},{"key":"e_1_3_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/RE.2017.82"},{"key":"e_1_3_1_33_1","doi-asserted-by":"publisher","unstructured":"Johan Linaker Sardar Muhammad Sulaman Martin H\u00f6st and Rafael Maiani de Mello. 2015. Guidelines for conducting surveys in software engineering v. 1.1. (2015). https:\/\/doi.org\/10.1007\/978-3-030-32489-6_3 10.1007\/978-3-030-32489-6_3","DOI":"10.1007\/978-3-030-32489-6_3"},{"key":"e_1_3_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00026"},{"key":"e_1_3_1_35_1","unstructured":"J MacQueen. 1967. Classification and analysis of multivariate observations. In 5th Berkeley Symp. Math. Statist. Probability. 281\u2013297."},{"key":"e_1_3_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICT4DA53266.2021.9672235"},{"key":"e_1_3_1_37_1","doi-asserted-by":"publisher","unstructured":"John Noll and Wei-Ming Liu. 2010. Requirements elicitation in open source software development: a case study. In Proceedings of the 3rd International Workshop on Emerging Trends in Free\/Libre\/Open Source Software Research and Development. 35\u201340. https:\/\/doi.org\/10.1145\/1833272.1833279 10.1145\/1833272.1833279","DOI":"10.1145\/1833272.1833279"},{"key":"e_1_3_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.910904"},{"key":"e_1_3_1_39_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-35333-9_16"},{"key":"e_1_3_1_40_1","doi-asserted-by":"publisher","DOI":"10.1016\/0377-0427(87)90125-7"},{"key":"e_1_3_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/SEAA.2012.23"},{"key":"e_1_3_1_42_1","doi-asserted-by":"crossref","first-page":"467","DOI":"10.1007\/978-3-540-92966-6_27","volume-title":"Design Requirements Engineering: A Ten-Year Perspective: Design Requirements Workshop, Cleveland, OH, USA, June 3-6, 2007, Revised and Invited Papers","author":"Scacchi Walt","year":"2009","unstructured":"Walt Scacchi. 2009. Understanding requirements for open source software. In Design Requirements Engineering: A Ten-Year Perspective: Design Requirements Workshop, Cleveland, OH, USA, June 3-6, 2007, Revised and Invited Papers. Springer, 467\u2013494."},{"key":"e_1_3_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/NAturaLiSE.2013.6611715"},{"key":"e_1_3_1_44_1","doi-asserted-by":"publisher","unstructured":"Daric\u00e9lio Moreira Soares Manoel Limeira de Lima J\u00fanior Leonardo Murta and Alexandre Plastino. 2015. Acceptance factors of pull requests in open-source projects. In 30th Annual ACM Symposium on Applied Computing. 1541\u20131546. https:\/\/doi.org\/10.1145\/2695664.2695856 10.1145\/2695664.2695856","DOI":"10.1145\/2695664.2695856"},{"key":"e_1_3_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180239"},{"key":"e_1_3_1_46_1","doi-asserted-by":"publisher","unstructured":"Leonardo Sousa Roberto Oliveira Alessandro Garcia Jaejoon Lee Tayana Conte Willian Oizumi Rafael de Mello Adriana Lopes Natasha Valentim Edson Oliveira and Carlos Lucena. 2017. How Do Software Developers Identify Design Problems?: A Qualitative Analysis. In Proceedings of 31st Brazilian Symposium on Software Engineering (Fortaleza Cear\u00e1 Brazil) (SBES\u201917). 12 pages. https:\/\/doi.org\/10.1145\/3131151.3131168 10.1145\/3131151.3131168","DOI":"10.1145\/3131151.3131168"},{"key":"e_1_3_1_47_1","unstructured":"Spring. 2022a. Spring | Community. https:\/\/spring.io\/community. (Accessed on 10\/21\/2022)."},{"key":"e_1_3_1_48_1","unstructured":"Spring. 2022b. Spring | Home. https:\/\/spring.io\/. (Accessed on 10\/21\/2022)."},{"key":"e_1_3_1_49_1","unstructured":"Spring. 2022c. Spring | Team. https:\/\/spring.io\/team. (Accessed on 10\/21\/2022)."},{"key":"e_1_3_1_50_1","doi-asserted-by":"publisher","DOI":"10.5755\/j01.itc.48.3.21973"},{"key":"e_1_3_1_51_1","doi-asserted-by":"publisher","unstructured":"Chong Wang Fan Zhang Peng Liang Maya Daneva and Marten Van Sinderen. 2018. Can app changelogs improve requirements classification from app reviews? an exploratory study. In Proceedings of the 12th ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement. 1\u20134. https:\/\/doi.org\/10.1145\/3239235.3267428 10.1145\/3239235.3267428","DOI":"10.1145\/3239235.3267428"},{"key":"e_1_3_1_52_1","doi-asserted-by":"publisher","unstructured":"A Yamashita and L Moonen. 2012. Do code smells reflect important maintainability aspects?. In ICSM12. 306\u2013315. https:\/\/doi.org\/10.1109\/ICSM.2012.6405287 10.1109\/ICSM.2012.6405287","DOI":"10.1109\/ICSM.2012.6405287"},{"key":"e_1_3_1_53_1","doi-asserted-by":"publisher","unstructured":"A. Yamashita and L. Moonen. 2013. Do developers care about code smells? An exploratory survey. In 20th Working Conference on Reverse Engineering. 242\u2013251. https:\/\/doi.org\/10.1109\/WCRE.2013.6671299 10.1109\/WCRE.2013.6671299","DOI":"10.1109\/WCRE.2013.6671299"},{"key":"e_1_3_1_54_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2016.12.003"}],"container-title":["Proceedings of the ACM on Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3643750","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3643750","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,2,4]],"date-time":"2026-02-04T08:07:49Z","timestamp":1770192469000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3643750"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,7,12]]},"references-count":53,"journal-issue":{"issue":"FSE","published-print":{"date-parts":[[2024,7,12]]}},"alternative-id":["10.1145\/3643750"],"URL":"https:\/\/doi.org\/10.1145\/3643750","relation":{},"ISSN":["2994-970X"],"issn-type":[{"value":"2994-970X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,7,12]]}}}