Detecting requirements defects with NLP patterns: an industrial experience in the railway domain

In the railway safety-critical domain requirements documents have to abide to strict quality criteria. Rule-based natural language processing (NLP) techniques have been developed to automatically identify quality defects in natural language requirements. However, the literature is lacking empirical...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Empirical software engineering : an international journal 2018-12, Vol.23 (6), p.3684-3733
Hauptverfasser: Ferrari, Alessio, Gori, Gloria, Rosadini, Benedetta, Trotta, Iacopo, Bacherini, Stefano, Fantechi, Alessandro, Gnesi, Stefania
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 3733
container_issue 6
container_start_page 3684
container_title Empirical software engineering : an international journal
container_volume 23
creator Ferrari, Alessio
Gori, Gloria
Rosadini, Benedetta
Trotta, Iacopo
Bacherini, Stefano
Fantechi, Alessandro
Gnesi, Stefania
description In the railway safety-critical domain requirements documents have to abide to strict quality criteria. Rule-based natural language processing (NLP) techniques have been developed to automatically identify quality defects in natural language requirements. However, the literature is lacking empirical studies on the application of these techniques in industrial settings. Our goal is to investigate to which extent NLP can be practically applied to detect defects in the requirements documents of a railway signalling manufacturer. To address this goal, we first identified a set of typical defects classes, and, for each class, an engineer of the company implemented a set of defect-detection patterns by means of the GATE tool for text processing. After a preliminary analysis, we applied the patterns to a large set of 1866 requirements previously annotated for defects. The output of the patterns was further inspected by two domain experts to check the false positive cases. Additional discard-patterns were defined to automatically remove these cases. Finally, SREE, a tool that searches for typically ambiguous terms, was applied to the requirements. The experiments show that SREE and our patterns may play complementary roles in the detection of requirements defects. This is one of the first works in which defect detection NLP techniques are applied on a very large set of industrial requirements annotated by domain experts. We contribute with a comparison between traditional manual techniques used in industry for requirements analysis, and analysis performed with NLP. Our experience shows that several discrepancies can be observed between the two approaches. The analysis of the discrepancies offers hints to improve the capabilities of NLP techniques with company specific solutions, and suggests that also company practices need to be modified to effectively exploit NLP tools.
doi_str_mv 10.1007/s10664-018-9596-7
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2139134623</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2139134623</sourcerecordid><originalsourceid>FETCH-LOGICAL-c369t-27b1f03c5b272b752fb34783a595b18142456e8af163a1204298068baa371b13</originalsourceid><addsrcrecordid>eNp1kM1OwzAQhC0EEqXwANwscQ547dhOuKHyK1XAoXfjpJvWVeuktqPStydVkThx2tFoZlb6CLkGdguM6bsITKk8Y1BkpSxVpk_ICKQWmVagTgctCp4JLtU5uYhxxRgrdS5H5OsRE9bJ-QUNuO1dwA36FOkcm8GOdOfSkr5PP2lnU8Lg4z21njo_72MKzq4pfncYHPoaB5emJdJg3Xpn93Tebqzzl-SsseuIV793TGbPT7PJazb9eHmbPEyzWqgyZVxX0DBRy4prXmnJm0rkuhBWlrKCAnKeS4WFbUAJC5zlvCyYKiprhYYKxJjcHGe70G57jMms2j744aPhIEoQueJiSMExVYc2xoCN6YLb2LA3wMyBozlyNANHc-Bo9NDhx04csn6B4W_5_9IPpqd1MQ</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2139134623</pqid></control><display><type>article</type><title>Detecting requirements defects with NLP patterns: an industrial experience in the railway domain</title><source>SpringerNature Journals</source><creator>Ferrari, Alessio ; Gori, Gloria ; Rosadini, Benedetta ; Trotta, Iacopo ; Bacherini, Stefano ; Fantechi, Alessandro ; Gnesi, Stefania</creator><creatorcontrib>Ferrari, Alessio ; Gori, Gloria ; Rosadini, Benedetta ; Trotta, Iacopo ; Bacherini, Stefano ; Fantechi, Alessandro ; Gnesi, Stefania</creatorcontrib><description>In the railway safety-critical domain requirements documents have to abide to strict quality criteria. Rule-based natural language processing (NLP) techniques have been developed to automatically identify quality defects in natural language requirements. However, the literature is lacking empirical studies on the application of these techniques in industrial settings. Our goal is to investigate to which extent NLP can be practically applied to detect defects in the requirements documents of a railway signalling manufacturer. To address this goal, we first identified a set of typical defects classes, and, for each class, an engineer of the company implemented a set of defect-detection patterns by means of the GATE tool for text processing. After a preliminary analysis, we applied the patterns to a large set of 1866 requirements previously annotated for defects. The output of the patterns was further inspected by two domain experts to check the false positive cases. Additional discard-patterns were defined to automatically remove these cases. Finally, SREE, a tool that searches for typically ambiguous terms, was applied to the requirements. The experiments show that SREE and our patterns may play complementary roles in the detection of requirements defects. This is one of the first works in which defect detection NLP techniques are applied on a very large set of industrial requirements annotated by domain experts. We contribute with a comparison between traditional manual techniques used in industry for requirements analysis, and analysis performed with NLP. Our experience shows that several discrepancies can be observed between the two approaches. The analysis of the discrepancies offers hints to improve the capabilities of NLP techniques with company specific solutions, and suggests that also company practices need to be modified to effectively exploit NLP tools.</description><identifier>ISSN: 1382-3256</identifier><identifier>EISSN: 1573-7616</identifier><identifier>DOI: 10.1007/s10664-018-9596-7</identifier><language>eng</language><publisher>New York: Springer US</publisher><subject>Compilers ; Computer Science ; Defects ; Empirical analysis ; Interpreters ; Natural language ; Natural language processing ; Programming Languages ; Requirements analysis ; Safety critical ; Software Engineering/Programming and Operating Systems ; Subject specialists</subject><ispartof>Empirical software engineering : an international journal, 2018-12, Vol.23 (6), p.3684-3733</ispartof><rights>Springer Science+Business Media, LLC, part of Springer Nature 2018</rights><rights>Copyright Springer Science &amp; Business Media 2018</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c369t-27b1f03c5b272b752fb34783a595b18142456e8af163a1204298068baa371b13</citedby><cites>FETCH-LOGICAL-c369t-27b1f03c5b272b752fb34783a595b18142456e8af163a1204298068baa371b13</cites><orcidid>0000-0002-0636-5663</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/s10664-018-9596-7$$EPDF$$P50$$Gspringer$$H</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/s10664-018-9596-7$$EHTML$$P50$$Gspringer$$H</linktohtml><link.rule.ids>315,782,786,27931,27932,41495,42564,51326</link.rule.ids></links><search><creatorcontrib>Ferrari, Alessio</creatorcontrib><creatorcontrib>Gori, Gloria</creatorcontrib><creatorcontrib>Rosadini, Benedetta</creatorcontrib><creatorcontrib>Trotta, Iacopo</creatorcontrib><creatorcontrib>Bacherini, Stefano</creatorcontrib><creatorcontrib>Fantechi, Alessandro</creatorcontrib><creatorcontrib>Gnesi, Stefania</creatorcontrib><title>Detecting requirements defects with NLP patterns: an industrial experience in the railway domain</title><title>Empirical software engineering : an international journal</title><addtitle>Empir Software Eng</addtitle><description>In the railway safety-critical domain requirements documents have to abide to strict quality criteria. Rule-based natural language processing (NLP) techniques have been developed to automatically identify quality defects in natural language requirements. However, the literature is lacking empirical studies on the application of these techniques in industrial settings. Our goal is to investigate to which extent NLP can be practically applied to detect defects in the requirements documents of a railway signalling manufacturer. To address this goal, we first identified a set of typical defects classes, and, for each class, an engineer of the company implemented a set of defect-detection patterns by means of the GATE tool for text processing. After a preliminary analysis, we applied the patterns to a large set of 1866 requirements previously annotated for defects. The output of the patterns was further inspected by two domain experts to check the false positive cases. Additional discard-patterns were defined to automatically remove these cases. Finally, SREE, a tool that searches for typically ambiguous terms, was applied to the requirements. The experiments show that SREE and our patterns may play complementary roles in the detection of requirements defects. This is one of the first works in which defect detection NLP techniques are applied on a very large set of industrial requirements annotated by domain experts. We contribute with a comparison between traditional manual techniques used in industry for requirements analysis, and analysis performed with NLP. Our experience shows that several discrepancies can be observed between the two approaches. The analysis of the discrepancies offers hints to improve the capabilities of NLP techniques with company specific solutions, and suggests that also company practices need to be modified to effectively exploit NLP tools.</description><subject>Compilers</subject><subject>Computer Science</subject><subject>Defects</subject><subject>Empirical analysis</subject><subject>Interpreters</subject><subject>Natural language</subject><subject>Natural language processing</subject><subject>Programming Languages</subject><subject>Requirements analysis</subject><subject>Safety critical</subject><subject>Software Engineering/Programming and Operating Systems</subject><subject>Subject specialists</subject><issn>1382-3256</issn><issn>1573-7616</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2018</creationdate><recordtype>article</recordtype><recordid>eNp1kM1OwzAQhC0EEqXwANwscQ547dhOuKHyK1XAoXfjpJvWVeuktqPStydVkThx2tFoZlb6CLkGdguM6bsITKk8Y1BkpSxVpk_ICKQWmVagTgctCp4JLtU5uYhxxRgrdS5H5OsRE9bJ-QUNuO1dwA36FOkcm8GOdOfSkr5PP2lnU8Lg4z21njo_72MKzq4pfncYHPoaB5emJdJg3Xpn93Tebqzzl-SsseuIV793TGbPT7PJazb9eHmbPEyzWqgyZVxX0DBRy4prXmnJm0rkuhBWlrKCAnKeS4WFbUAJC5zlvCyYKiprhYYKxJjcHGe70G57jMms2j744aPhIEoQueJiSMExVYc2xoCN6YLb2LA3wMyBozlyNANHc-Bo9NDhx04csn6B4W_5_9IPpqd1MQ</recordid><startdate>20181201</startdate><enddate>20181201</enddate><creator>Ferrari, Alessio</creator><creator>Gori, Gloria</creator><creator>Rosadini, Benedetta</creator><creator>Trotta, Iacopo</creator><creator>Bacherini, Stefano</creator><creator>Fantechi, Alessandro</creator><creator>Gnesi, Stefania</creator><general>Springer US</general><general>Springer Nature B.V</general><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><orcidid>https://orcid.org/0000-0002-0636-5663</orcidid></search><sort><creationdate>20181201</creationdate><title>Detecting requirements defects with NLP patterns: an industrial experience in the railway domain</title><author>Ferrari, Alessio ; Gori, Gloria ; Rosadini, Benedetta ; Trotta, Iacopo ; Bacherini, Stefano ; Fantechi, Alessandro ; Gnesi, Stefania</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c369t-27b1f03c5b272b752fb34783a595b18142456e8af163a1204298068baa371b13</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2018</creationdate><topic>Compilers</topic><topic>Computer Science</topic><topic>Defects</topic><topic>Empirical analysis</topic><topic>Interpreters</topic><topic>Natural language</topic><topic>Natural language processing</topic><topic>Programming Languages</topic><topic>Requirements analysis</topic><topic>Safety critical</topic><topic>Software Engineering/Programming and Operating Systems</topic><topic>Subject specialists</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Ferrari, Alessio</creatorcontrib><creatorcontrib>Gori, Gloria</creatorcontrib><creatorcontrib>Rosadini, Benedetta</creatorcontrib><creatorcontrib>Trotta, Iacopo</creatorcontrib><creatorcontrib>Bacherini, Stefano</creatorcontrib><creatorcontrib>Fantechi, Alessandro</creatorcontrib><creatorcontrib>Gnesi, Stefania</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Empirical software engineering : an international journal</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Ferrari, Alessio</au><au>Gori, Gloria</au><au>Rosadini, Benedetta</au><au>Trotta, Iacopo</au><au>Bacherini, Stefano</au><au>Fantechi, Alessandro</au><au>Gnesi, Stefania</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Detecting requirements defects with NLP patterns: an industrial experience in the railway domain</atitle><jtitle>Empirical software engineering : an international journal</jtitle><stitle>Empir Software Eng</stitle><date>2018-12-01</date><risdate>2018</risdate><volume>23</volume><issue>6</issue><spage>3684</spage><epage>3733</epage><pages>3684-3733</pages><issn>1382-3256</issn><eissn>1573-7616</eissn><abstract>In the railway safety-critical domain requirements documents have to abide to strict quality criteria. Rule-based natural language processing (NLP) techniques have been developed to automatically identify quality defects in natural language requirements. However, the literature is lacking empirical studies on the application of these techniques in industrial settings. Our goal is to investigate to which extent NLP can be practically applied to detect defects in the requirements documents of a railway signalling manufacturer. To address this goal, we first identified a set of typical defects classes, and, for each class, an engineer of the company implemented a set of defect-detection patterns by means of the GATE tool for text processing. After a preliminary analysis, we applied the patterns to a large set of 1866 requirements previously annotated for defects. The output of the patterns was further inspected by two domain experts to check the false positive cases. Additional discard-patterns were defined to automatically remove these cases. Finally, SREE, a tool that searches for typically ambiguous terms, was applied to the requirements. The experiments show that SREE and our patterns may play complementary roles in the detection of requirements defects. This is one of the first works in which defect detection NLP techniques are applied on a very large set of industrial requirements annotated by domain experts. We contribute with a comparison between traditional manual techniques used in industry for requirements analysis, and analysis performed with NLP. Our experience shows that several discrepancies can be observed between the two approaches. The analysis of the discrepancies offers hints to improve the capabilities of NLP techniques with company specific solutions, and suggests that also company practices need to be modified to effectively exploit NLP tools.</abstract><cop>New York</cop><pub>Springer US</pub><doi>10.1007/s10664-018-9596-7</doi><tpages>50</tpages><orcidid>https://orcid.org/0000-0002-0636-5663</orcidid></addata></record>
fulltext fulltext
identifier ISSN: 1382-3256
ispartof Empirical software engineering : an international journal, 2018-12, Vol.23 (6), p.3684-3733
issn 1382-3256
1573-7616
language eng
recordid cdi_proquest_journals_2139134623
source SpringerNature Journals
subjects Compilers
Computer Science
Defects
Empirical analysis
Interpreters
Natural language
Natural language processing
Programming Languages
Requirements analysis
Safety critical
Software Engineering/Programming and Operating Systems
Subject specialists
title Detecting requirements defects with NLP patterns: an industrial experience in the railway domain
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-04T02%3A29%3A56IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Detecting%20requirements%20defects%20with%20NLP%20patterns:%20an%20industrial%20experience%20in%20the%20railway%20domain&rft.jtitle=Empirical%20software%20engineering%20:%20an%20international%20journal&rft.au=Ferrari,%20Alessio&rft.date=2018-12-01&rft.volume=23&rft.issue=6&rft.spage=3684&rft.epage=3733&rft.pages=3684-3733&rft.issn=1382-3256&rft.eissn=1573-7616&rft_id=info:doi/10.1007/s10664-018-9596-7&rft_dat=%3Cproquest_cross%3E2139134623%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2139134623&rft_id=info:pmid/&rfr_iscdi=true