{"title":"使用SpanBERT和命名实体识别的半自动化软件需求歧义检测方法","authors":"Fiza Talha, Touseef Tahir, Talha Nadeem","doi":"10.1002/smr.70041","DOIUrl":null,"url":null,"abstract":"<p>Ambiguous user requirements present a challenge in software requirement engineering. A manual approach to handling ambiguity is time-consuming. Software requirements are essential inputs to software development processes, including architecture and design, implementation, and testing. Requirement ambiguities lead to project cost overruns, delays in project delivery, and poor software product quality. Timely identification and correction of ambiguity can result in better software systems that meet product objectives and satisfy the needs of all stakeholders. This study explores various natural language processing techniques and SpanBERT (a variant of BERT). This research proposes a semiautomated approach for detecting anaphoric, coordination, and missing condition ambiguities in functional requirements. The proposed approach is validated on a new, original dataset containing 425 functional requirements from 16 domains. The ambiguities identified through our approach are compared with those detected manually and by ChatGPT. Our approach outperforms ChatGPT in detecting ambiguities. The proposed approach will aid project managers and requirement engineers in identifying ambiguities in requirement specifications, thereby helping to reduce cost overruns and delays in the software development process caused by requirement ambiguities.</p>","PeriodicalId":48898,"journal":{"name":"Journal of Software-Evolution and Process","volume":"37 8","pages":""},"PeriodicalIF":1.8000,"publicationDate":"2025-08-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.70041","citationCount":"0","resultStr":"{\"title\":\"A Semiautomated Approach for Detecting Ambiguities in Software Requirements Using SpanBERT and Named Entity Recognition\",\"authors\":\"Fiza Talha, Touseef Tahir, Talha Nadeem\",\"doi\":\"10.1002/smr.70041\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<p>Ambiguous user requirements present a challenge in software requirement engineering. A manual approach to handling ambiguity is time-consuming. Software requirements are essential inputs to software development processes, including architecture and design, implementation, and testing. Requirement ambiguities lead to project cost overruns, delays in project delivery, and poor software product quality. Timely identification and correction of ambiguity can result in better software systems that meet product objectives and satisfy the needs of all stakeholders. This study explores various natural language processing techniques and SpanBERT (a variant of BERT). This research proposes a semiautomated approach for detecting anaphoric, coordination, and missing condition ambiguities in functional requirements. The proposed approach is validated on a new, original dataset containing 425 functional requirements from 16 domains. The ambiguities identified through our approach are compared with those detected manually and by ChatGPT. Our approach outperforms ChatGPT in detecting ambiguities. The proposed approach will aid project managers and requirement engineers in identifying ambiguities in requirement specifications, thereby helping to reduce cost overruns and delays in the software development process caused by requirement ambiguities.</p>\",\"PeriodicalId\":48898,\"journal\":{\"name\":\"Journal of Software-Evolution and Process\",\"volume\":\"37 8\",\"pages\":\"\"},\"PeriodicalIF\":1.8000,\"publicationDate\":\"2025-08-10\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://onlinelibrary.wiley.com/doi/epdf/10.1002/smr.70041\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Journal of Software-Evolution and Process\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://onlinelibrary.wiley.com/doi/10.1002/smr.70041\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Software-Evolution and Process","FirstCategoryId":"94","ListUrlMain":"https://onlinelibrary.wiley.com/doi/10.1002/smr.70041","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
A Semiautomated Approach for Detecting Ambiguities in Software Requirements Using SpanBERT and Named Entity Recognition
Ambiguous user requirements present a challenge in software requirement engineering. A manual approach to handling ambiguity is time-consuming. Software requirements are essential inputs to software development processes, including architecture and design, implementation, and testing. Requirement ambiguities lead to project cost overruns, delays in project delivery, and poor software product quality. Timely identification and correction of ambiguity can result in better software systems that meet product objectives and satisfy the needs of all stakeholders. This study explores various natural language processing techniques and SpanBERT (a variant of BERT). This research proposes a semiautomated approach for detecting anaphoric, coordination, and missing condition ambiguities in functional requirements. The proposed approach is validated on a new, original dataset containing 425 functional requirements from 16 domains. The ambiguities identified through our approach are compared with those detected manually and by ChatGPT. Our approach outperforms ChatGPT in detecting ambiguities. The proposed approach will aid project managers and requirement engineers in identifying ambiguities in requirement specifications, thereby helping to reduce cost overruns and delays in the software development process caused by requirement ambiguities.