ersoykadir / Requirement-Traceability-Analysis

MIT License
2 stars 0 forks source link

Writing Abstract of the project #27

Closed codingAku closed 1 year ago

codingAku commented 1 year ago

Issue Description

We need to write an abstract section for the project Requirement Traceability Tool.

Step Details

Steps that will be performed:

Final Actions

Next weekly meeting, the abstract will be discussed with our professors.

Deadline of the Issue

28.05.2023

codingAku commented 1 year ago

Plan for a good abstract:

background, motivation, methods, results, conclusion, and impact.

Length: Around 200 words

Language: Clean academical english with minimum usage of terminology for general understanding.

codingAku commented 1 year ago

First draft: Requirements traceability refers to the capability of following the life of a requirement both forwards and backwards direction. It also refers the the ability to link requirements (via specific relationships) to other software artifacts of the product development lifecycle. These traceability links allow stakeholders to track the progress of development for requirements and system engineers to track the effort and workload spared/will spare to the requirements. Traditional methods to recover traceability links still requires significant amount of human effort, therefore they are not quite applicable, nor effective, especially when the project size grows. In this work, we present a tool that establishes automated requirement traceability links between requirements written in natural language and software artifacts acquired from GitHub repositories. The tool implements custom keyword extraction pipeline and tf-idf methods to trace the similarities between artifacts. The captured traces are stored in Neo4j graph database and visualized using Neo4j graph drawing tools. To improve the traceability, an interactive dashboard containing statistical data about the artifacts and their connections is also implemented with Neodash builder.

codingAku commented 1 year ago

Improved version with grammar errors removed.

Requirements traceability refers to the capability of following the life of a requirement in both forwards and backward directions. It also refers to the ability to link requirements to other software artifacts through particular relationships. These traceability links enable stakeholders to monitor the development progress of requirements and assist system engineers in tracking the effort and workload associated with fulfilling those requirements. Traditional methods to recover traceability links necessitate significant human effort, making them unsuitable and inefficient, particularly as the project scale grows. In this work, we present a tool that establishes automated requirement traceability links between requirements written in natural language and software artifacts acquired from GitHub repositories. The tool implements a custom keyword extraction pipeline and TF-IDF algorithm to trace the artifacts to the requirements. The captured traces are stored in the Neo4j graph database and visualized with a graphical structure on the Neo4j graph drawing tool. Additionally, an interactive dashboard featuring statistical data about the artifacts and their traces is implemented using the Neodash builder. By offering automated traceability and comprehensive visualization, this tool aims to enhance the management of requirements and to understand their quality in software development projects.

Keywords: Requirement traceability, NLP, keyword extraction, traceability graph database, comprehensive visualization.

P.S: have doubts about keywords.

uskudarli commented 1 year ago

Where is the the abstract and/or paper being written? Link please.

codingAku commented 1 year ago

—Tracking the status of the requirements throughout the software development cycle is essential to the success of software development projects. Requirements trace links relate requirements with other software development artifacts which indicates the progress on their related requirements. Manually identifying these trace links, understanding and aggregating them as an indicator of the requirement progress is a daunting task. This paper implements and evaluates trace links from requirements to issues, pull requests, and commits using keyword matching, TF-IDF vectors, and word vectors. Extracted links are used to create an interactive visualization of the repository in a dashboard for retrospective and real-time analysis. Our preliminary evaluation suggests that the word vector method outperforms the other methods. Our main contribution is the interactive dashboard that utilizes trace links to visualize a software repository to support project management and analysis. We also lay out details for our future evaluation plan. Our replication package contains the code and the evaluation data.

Final abstract submitted.