Semantically Enhanced Software Traceability Using Deep Learning Techniques
arXiv:1804.02438 · doi:10.1109/ICSE.2017.9
Abstract
In most safety-critical domains the need for traceability is prescribed by certifying bodies. Trace links are generally created among requirements, design, source code, test cases and other artifacts, however, creating such links manually is time consuming and error prone. Automated solutions use information retrieval and machine learning techniques to generate trace links, however, current techniques fail to understand semantics of the software artifacts or to integrate domain knowledge into the tracing process and therefore tend to deliver imprecise and inaccurate results. In this paper, we present a solution that uses deep learning to incorporate requirements artifact semantics and domain knowledge into the tracing solution. We propose a tracing network architecture that utilizes Word Embedding and Recurrent Neural Network (RNN) models to generate trace links. Word embedding learns word vectors that represent knowledge of the domain corpus and RNN uses these word vectors to learn the sentence semantics of requirements artifacts. We trained 360 different configurations of the tracing network using existing trace links in the Positive Train Control domain and identified the Bidirectional Gated Recurrent Unit (BI-GRU) as the best model for the tracing task. BI-GRU significantly out-performed state-of-the-art tracing methods including the Vector Space Model and Latent Semantic Indexing.
arXiv comment2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE)
Cited by in corpus (16)
- SySeVR: A Framework for Using Deep Learning to Detect Software Vulnerabilities
- The Use of NLP-Based Text Representation Techniques to Support Requirement Engineering Tasks: A Systematic Mapping Review
- Machine Learning for Software Engineering: A Systematic Mapping
- Improving the Effectiveness of Traceability Link Recovery using Hierarchical Bayesian Networks
- PatchNet: Hierarchical Deep Learning-Based Stable Patch Identification for the Linux Kernel
- Where is Your App Frustrating Users?
- Using Consensual Biterms from Text Structures of Requirements and Code to Improve IR-Based Traceability Recovery
- On Usefulness of the Deep-Learning-Based Bug Localization Models to Practitioners
- Improved management of issue dependencies in issue trackers of large collaborative projects
- An Empirical Investigation into the Use of Image Captioning for Automated Software Documentation
- TRIAD: Automated Traceability Recovery based on Biterm-enhanced Deduction of Transitive Links among Artifacts
- Generating and Visualizing Trace Link Explanations
- Balanced Knowledge Distribution among Software Development Teams -- Observations from Open-Source and Closed-Source Software Development
- Reconsidering Requirements Engineering: Human-AI Collaboration in AI-Native Software Development
- TraceLLM: Leveraging Large Language Models with Prompt Engineering for Enhanced Requirements Traceability
- Empirical Evaluation of Taxonomic Trace Links: A Case Study