dc.description.abstract | Requirements engineering is a subfield of software engineering that is concerned with analyzing software requirements specifications. An important process of requirement engineering is tracing requirements to investigate relationships between requirements and other software artifacts (i.e., source code, test cases, etc.). Requirements traceability is mostly manual because of difficulties automating the process. A specific mode of tracing is inter-requirements traceability, which focuses on tracing requirements with other requirements. Investigating inter-requirements traceability is very important because it has significant influence on many activities of software engineering such as requirements implementation, consistency checking, and requirements impact change management. Several studies used different approaches to identify three types of relationships: cooperative, conflicting, and irrelevant. However, the current solutions have several shortcomings: (1) only applicable to fuzzy requirements, user requirements, and technical requirements, (2) ignoring the syntactic and semantic aspects of software requirements, and (3) little attention was given to show the influence of security requirements on functional requirements. Furthermore, several traceability tools have a lack of using predefined rules to identify relationships. | en_US |