<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Research on NLP for RE at UPC: a Report</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Ricard</forename><surname>Borrull</surname></persName>
							<email>rborrull@essi.upc.edu</email>
						</author>
						<author>
							<persName><forename type="first">Xavier</forename><surname>Franch</surname></persName>
							<email>franch@essi.upc.edu</email>
						</author>
						<author>
							<persName><forename type="first">Carme</forename><surname>Quer</surname></persName>
							<email>cquer@essi.upc.edu</email>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="institution">Universitat Politecnica de Catalunya (UPC) Barcelona</orgName>
								<address>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<orgName type="institution">Dolors Costal Universitat Politecnica de Catalunya (UPC)</orgName>
								<address>
									<settlement>Barcelona</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff2">
								<orgName type="institution">Universitat Politecnica de Catalunya (UPC) Barcelona</orgName>
								<address>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff3">
								<orgName type="institution">Universitat Politecnica de Catalunya (UPC) Barcelona</orgName>
								<address>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Research on NLP for RE at UPC: a Report</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">83D2AC1B261CDCCC53E36E6216FAE774</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T17:39+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Team Overview] The Software and Service Engineering Group (GESSI) of UPC has traditionally conducted research in many fields of software engineering. [Research Plan on NLP] As a result of our participation in the OpenReq project, natural language processing (NLP) has become one of our highest priority research fields. We are using NLP for interdependency detection and requirements reuse, being the center piece of both tasks the identification of similar requirements.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Interdependency detection will combine the identification of explicit and non-explicit interdependencies in the requirements. By explicit interdependencies, we mean explicit references in a requirement to other requirements, while by non-explicit interdependencies we mean those ones that are not explicitly stated in the requirements but that can be identified by analyzing the requirements both from a syntactic and semantic point of view.</p><p>For the detection of explicit interdependencies, we aim at following the approaches used in the well-known area of cross-references detection and resolution. In the first approach, we will identify natural language patterns that are used in requirements text to refer to other requirements and use them to propose new interdependencies. This approach will be based on works such as those of <ref type="bibr" target="#b1">[Bre08]</ref> and <ref type="bibr" target="#b4">[Pal03]</ref>. In the future, though, we will consider a second approach that consists in the possibility to extract these patterns automatically as done in <ref type="bibr" target="#b8">[San17]</ref>. Although <ref type="bibr" target="#b8">[San17]</ref> extract patterns used for cross-referencing in legal texts, we believe that a similar approach for automatic extraction of such patterns can be extrapolated to requirements specifications.</p><p>Regarding the detection of non-explicit interdependencies, the first step will be the identification of pairs of similar requirements (both from a syntactic and semantic point of view). Similarity detection (i.e., syntactic similarity) and paraphrase detection (i.e., semantic similarity) are approaches closely related to detection of interdependencies between requirements.</p><p>The relationship between similarity and paraphrase detection and interdependency detection is evident in the case where two requirements have almost exactly the same formulation. Imagine the requirements "The user interface should use the letter type Arial letter type." and "The user interface should use the letter type Calibri letter type.". It is clear that these two requirements cannot be used in the same system (since it is not possible to use two letter types for the whole user interface), so these requirements are related by an OR interdependency (using the terminology proposed by Carlshamre <ref type="bibr" target="#b2">[Car01]</ref>). However, even in other cases there are commonalities. As an example, if requirement R1 states that "It shall be possible to filter personal data by name and address" and requirements R2 states that "The system shall allow to filter personal data by age", it would probably be convenient to treat these two requirements at the same time to save development resources. This example can be considered as an ICOST interdependency, according again to the terminology described in <ref type="bibr" target="#b2">[Car01]</ref>. Other examples of interdependencies that can trigger a similarity analysis at a lexical level can be, e.g., the conflicting requirements "The button shall be blue." and "The button shall be red.".</p><p>Therefore, identifying syntactically and semantically similar requirements could be used as a basis to identify related requirements. As there are several well-known components already developed to detect similar texts in English, our aim is to select one of these components to be integrated and expanded in OpenReq. At the time being, we envision adding some pre-processing, such as clustering or classification techniques, to the use of the component to reduce the set of requirements for which the component will run: if we reduce the set to which a requirement is compared to just the group of requirements it pertains according to a clustering algorithm, the possibilities to achieve better matches will improve. The components we are currently evaluating are:</p><p>• Cortical (http://cortical.io/). Among its functionalities, it provides a method to measure the similarity using the Cosine metric between two given texts. In this case, the method is not parameterizable.</p><p>• DKPro (https://dkpro.github.io/). DKPro provides, among others, a comprehensive repository of text similarity measures ranging from ones based on simple n-grams and common subsequences to more complex ones based on high-dimensional vector comparisons and structural, stylistic, and phonetic measures.</p><p>• Gensim (https://radimrehurek.com/gensim/tutorial.html). It includes implementations for popular algorithms such as LSA, LDA and RP. Gensim allows loading a corpus of texts to which a sentence can be compared. The calls to the algorithms are parameterizable.</p><p>• Semilar (http://www.semanticsimilarity.org/). The methods offered by Semilar, which are completely parameterizable, range from simple lexical overlap methods to methods that rely on word-to-word similarity metrics to more sophisticated fully unsupervised methods that derive the meaning of words and sentences such as LSA and LDA to kernel-based methods for assessing similarity. In addition, one can select the tokenizer, tagger, stemmer and parser to be used as pre-processing (having as options, for instance, the libraries OpenNLP, Stanford parser and WordNet).</p><p>• Scikit-learn (http://scikit-learn.org/stable/documentation.html). It allows the transformation of texts into vectors, using TF-IDF among other algorithms, and the measurement of the similarity over them using the Cosine metric.</p><p>However, we do not discard to add new components to this list if the results of our evaluations are not good enough or if other researchers know of other components that give better results.</p><p>The second step of non-explicit interdependencies section is to improve and expand the requirements similarity detection with further features, such as:</p><p>• Creating a specific list of synonyms that are domain dependent, so that the similarity algorithms can know when two words that in principle are not synonyms are actually synonyms in a specific domain.</p><p>• Constructing models that can help to detect interdependencies by relating concepts on this model. This is similar to the ontology used in <ref type="bibr" target="#b9">[Zhu05]</ref>, but in our model, relationships will broaden the scope of the previous work, which is focused on inconsistencies. For instance, if we know that technologies A and B are incompatible, A and B will be related in this model as conflicting. Therefore, when these two technologies are used at the same time in a single project, we can extrapolate that the requirements stating technologies A and B are actually conflicting and a new interdependency of this type will be created among them.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Requirements Reuse</head><p>To achieve requirements reuse, we plan to adapt the PABRE framework <ref type="bibr" target="#b3">[Fra13]</ref> [Ren09], which stands for PAtterns-Based Requirement Elicitation, to OpenReq. The core asset in the PABRE framework are Software Requirement Patterns (SRPs). In a nutshell, an SRP is a set of Templates that pursue the same goal in a system to be developed. Each template corresponds to the text to be used as a requirement and, if necessary, some optional Parameters (with a set of possible values: range of numbers to be used, possible strings, etc.) that need to be instantiated when applying the pattern. As a goal can be achieved in different ways, an SRP consists of several Forms, each one representing a different solution for achieving the goal. In additon, Forms are organized into Parts, each of them being a template: a Fixed Part, which is always applied if the form is chosen, and some Extended Parts, which may be applied or not. Finally, SRPs are classified using Classification Schemas, which are hierarchies of classifiers that facilitate the organization of SRPs.</p><p>In OpenReq, we will adapt the structure of SRP defined in the PABRE framework to the needs of the project. Additionally, we will need to define a catalogue of SRPs for OpenReq (possibly one per trial). Therefore, it is important that the population of this catalogue will combine automatic extraction with expert assessment. The automatic extraction will need some type of NLP processing, and probably machine learning. For instance, we believe topic modelling could be used to extract the common topics found in requirements specifications, clustering techniques to group requirements, and syntactic and semantic similarity identification to find requirements that are repeated along the different specifications. These techniques might help to populate the SRP catalogue.</p><p>Finally, we envisage different ways in which this catalogue of patterns could be used in OpenReq. Here, we present the ones that will need the support of NLP:</p><p>1. Propose SRP that are dependent. Given a requirement, using a similarity algorithm it will be possible to recover similar SRP (by analyzing the templates in the SRPs with the given requirement). Then, once we know the similar SRPs to a given requirement, if they are dependent to other SRPs, we can propose these dependent SRP so they can be reused. For instance, R1 is similar to a template in the requirement pattern SRP2, which is dependent on the requirement pattern SRP3. In that case, SRP3 could be proposed to be reused for R1.</p><p>2. Propose SRP the are related. Again, given a requirement, using a similarity algorithm it will be possible to recover similar SRP (by analyzing the templates in the SRPs with the given requirement) (e.g., R1 is similar to a template of SRP1 ). Then, if SRP1 is in classifier C1 other SRPs in the same classifier could be proposed for reuse (e.g., SRP2 ). So, for R1, SRP2 will be proposed since they both under the same classifier. A similar approach could be used for the keywords. If SRP1 has keyword K1, we can look in the catalogue for other SRPs that have keyword K1 (e.g., SRP3 ), and these SRPs could be proposed for reuse. So, in that case, for R1, SRP3 will be proposed for reuse since they both are both about keyword K1.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">Further Issues</head><p>It is important to highlight here the fact that OpenReq will deal not only with English language, but also with Italian and German, since one of the trials deals with requirements written in Italian, and another trial deals with requirements (partially) written in German. This diversity of languages used to write the text analyzed supposes a challenge for the project. The majority of the existing NLP approaches target the English language, as they are trained and validated using English text corpora. Although NLP approaches and software libraries exist for both languages <ref type="bibr" target="#b0">[Bas15]</ref> [Reh12], we have to check that their performances (e.g., precision) are not inferior compared to the well-established, English-based ones (specially when used for parsing and similarity detection).</p></div>		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgements</head><p>The work presented in this paper has been conducted within the scope of the Horizon 2020 project OpenReq, which is supported by the European Union under the Grant Nr. 732463.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">Harmonization and development of resources and tools for Italian natural language processing within the PARLI Project</title>
		<author>
			<persName><forename type="first">R</forename><surname>Basili</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Bosco</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Delmonte</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Moschitti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Simi</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2015">2015</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Analyzing regulatory rules for privacy and security requirements</title>
		<author>
			<persName><forename type="first">T</forename><surname>Breaux</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Anton</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transaction on Software Engineering</title>
		<imprint>
			<biblScope unit="volume">34</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page">520</biblScope>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">An industrial survey of requirements interdependencies in software product release planning 5th</title>
		<author>
			<persName><forename type="first">P</forename><surname>Carlshamre</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Sandahl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lindvall</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Regnell</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">N</forename><surname>Och Dag</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE International Symposium on Requirements Engineering</title>
				<imprint>
			<biblScope unit="page" from="84" to="91" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">Constructing and using software requirement patterns Managing requirements knowledge</title>
		<author>
			<persName><forename type="first">X</forename><surname>Franch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Quer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Renault</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Guerlain</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Palomares</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2013">2013</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Automated extraction of normative references in legal texts 9th international conference on artificial intelligence and law</title>
		<author>
			<persName><forename type="first">M</forename><surname>Palmirani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Brighi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Massini</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2003">ICAIL03. 2003</date>
			<biblScope unit="page">105106</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<ptr target="https://www.openreq.org" />
		<title level="m">OpenReq: Intelligent Recommendation and Decision Technologies for Community-Driven Requirements Engineering (Horizon 2020 Project</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m" type="main">Adding nominal spice to SALSA -frame-semantic annotation of German nouns and verbs Conference on Natural Language Processing</title>
		<author>
			<persName><forename type="first">I</forename><surname>Rehbein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Ruppenhofer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Sporleder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Pinkal</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2012">2012</date>
			<publisher>KONVENS</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">A Pattern-based Method for building Requirements Documents in Call-for-tender Processes</title>
		<author>
			<persName><forename type="first">S</forename><surname>Renault</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Mndez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Franch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Quer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Int J Comput Sci Appl</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="issue">5</biblScope>
			<biblScope unit="page">175202</biblScope>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<title level="m" type="main">An automated framework for detection and resolution of cross references in legal texts Requirements Engineering</title>
		<author>
			<persName><forename type="first">N</forename><surname>Sannier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Adedjouma</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Sabetzadeh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">C</forename><surname>Briand</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2017">2017</date>
			<biblScope unit="volume">22</biblScope>
			<biblScope unit="page" from="215" to="237" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Inconsistency measurement of software requirements specifications: an ontology-based approach</title>
		<author>
			<persName><forename type="first">X</forename><surname>Zhu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Jin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS)</title>
				<imprint>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="402" to="410" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
