This paper introduces YamenTrace, an automatic approach to recover and visualize requirement-to-code traceability links (RtC-TLs) in object-oriented software systems. YamenTrace uses latent semantic indexing (LSI) to measure similarity between requirements and source code, and formal concept analysis (FCA) to cluster similar elements and identify trace links. The approach was applied to three case studies and successfully recovered most RtC-TLs, validating its importance and performance. YamenTrace recovers links without manual effort by exploiting code identifiers, comments, and relations during analysis of the software requirements and source code.
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
Â
YamenTrace: Recover and Visualize Requirements-Code Traces
1. YamenTrace:
Requirements Traceability: Recovering and
Visualizing Traceability Links Between
Requirements and Source Code of Object-
oriented Software Systems
Ra’Fat Al-Msie’deen
Department of Software Engineering, Faculty of IT, Mutah University, Mutah 61710, Karak,
Jordan
E-mail address: rafatalmsiedeen@mutah.edu.jo
https://rafat66.github.io/Al-Msie-Deen/
3. Abstract
Requirements traceability is an important activity to reach an effective requirements management
method in the requirements engineering. Requirement-to-Code Traceability Links (RtC-TLs) shape the
relations between requirement and source code artifacts. RtC-TLs can assist engineers to know which
parts of software code implement a specific requirement. In addition, these links can assist engineers to
keep a correct mental model of software, and decreasing the risk of code quality degradation when
requirements change with time mainly in large sized and complex software. However, manually
recovering and preserving of these TLs puts an additional burden on engineers and is error-prone,
tedious, and costly task. This paper introduces YamenTrace, an automatic approach and implementation
to recover and visualize RtC-TLs in Object-Oriented software based on Latent Semantic Indexing (LSI)
and Formal Concept Analysis (FCA). The originality of YamenTrace is that it exploits all code identifier
names, comments, and relations in TLs recovery process. YamenTrace uses LSI to find textual similarity
across software code and requirements. While FCA employs to cluster similar code and requirements
together. Furthermore, YamenTrace gives a visualization of recovered TLs. To validate YamenTrace, it
applied on three case studies. The findings of this evaluation prove the importance and performance of
YamenTrace proposal as most of RtC-TLs were correctly recovered and visualized.
4.
5.
6. Backward and forward directions of requirement traces
Requirements space Implementation space
Software Requirements
Specification (SRS) document
Software P
Design space
Class x
Forward traceability
Backward traceability
Requirement x
UML
Database
Reports
Dialogs
Forms
Interfaces
7. Extracting software source code
Code elements as
XML file
Measuring requirement
and class documents
similarity by using LSI
Constructing LSI corpus
Preprocessing of corpus
documents
Constructing the term-
document and the term-
query matrices for corpus
documents
Constructing the similarity
matrix
Identifying TLs using FCA
Software source
code
Inputs
Generating class documents
Software class
documents
Outputs
Similarity matrix as
binary formal context
3
4
Requirements traceability
1
2
&
Software
requirements
RT recovering
process -
YamenTrace
approach
11. Extracting software source code Code elements as XML file
Measuring requirement
and class documents
similarity by using LSI
Constructing the LSI corpus
Preprocessing of corpus
documents
Constructing the term-document
and the term-query matrices for
corpus documents
Constructing the similarity
matrix
Identifying TLs using FCA
Software source code
Inputs
Generating class documents
Software class documents
Outputs
Similarity matrix as binary
formal context
3
4
Requirements traceability
R1
R2
C1
C3
C2
1
2
Trace
links
Software engineer
Software requirement documents
16. An example of a class document (i.e., MyLine)
from DS software.
17. Extracting software source code Code elements as XML file
Measuring requirement and class
documents similarity by using
LSI
Constructing the LSI corpus
Preprocessing of corpus
documents
Constructing the term-document
and the term-query matrices for
corpus documents
Constructing the similarity
matrix
Identifying TLs using FCA
Software requirement documents
Software source code
Inputs
Generating class documents
Software class documents
Outputs
Similarity matrix as binary formal
context
3
4
Requirements traceability
R1
R2
C1
C3
C2
1
2
22. YamenTrace:
Requirements Traceability: Recovering and
Visualizing Traceability Links Between
Requirements and Source Code of Object-
oriented Software Systems
Ra’Fat Al-Msie’deen
Department of Software Engineering, Faculty of IT, Mutah University, Mutah 61710, Karak,
Jordan
E-mail address: rafatalmsiedeen@mutah.edu.jo
https://rafat66.github.io/Al-Msie-Deen/