82 research outputs found
Grand Challenges of Traceability: The Next Ten Years
In 2007, the software and systems traceability community met at the first
Natural Bridge symposium on the Grand Challenges of Traceability to establish
and address research goals for achieving effective, trustworthy, and ubiquitous
traceability. Ten years later, in 2017, the community came together to evaluate
a decade of progress towards achieving these goals. These proceedings document
some of that progress. They include a series of short position papers,
representing current work in the community organized across four process axes
of traceability practice. The sessions covered topics from Trace Strategizing,
Trace Link Creation and Evolution, Trace Link Usage, real-world applications of
Traceability, and Traceability Datasets and benchmarks. Two breakout groups
focused on the importance of creating and sharing traceability datasets within
the research community, and discussed challenges related to the adoption of
tracing techniques in industrial practice. Members of the research community
are engaged in many active, ongoing, and impactful research projects. Our hope
is that ten years from now we will be able to look back at a productive decade
of research and claim that we have achieved the overarching Grand Challenge of
Traceability, which seeks for traceability to be always present, built into the
engineering process, and for it to have "effectively disappeared without a
trace". We hope that others will see the potential that traceability has for
empowering software and systems engineers to develop higher-quality products at
increasing levels of complexity and scale, and that they will join the active
community of Software and Systems traceability researchers as we move forward
into the next decade of research
Leveraging Traceability to Integrate Safety Analysis Artifacts into the Software Development Process
Safety-critical system's failure or malfunction can cause loss of human lives
or damage to the physical environment; therefore, continuous safety assessment
is crucial for such systems. In many domains this includes the use of Safety
assurance cases (SACs) as a structured argument that the system is safe for
use. SACs can be challenging to maintain during system evolution due to the
disconnect between the safety analysis and system development process. Further,
safety analysts often lack domain knowledge and tool support to evaluate the
SAC. We propose a solution that leverages software traceability to connect
relevant system artifacts to safety analysis models, and then uses these
connections to visualize the change. We elicit design rationales for system
changes to help safety stakeholders analyze the impact of system changes on
safety. We present new traceability techniques for closer integration of the
safety analysis and system development process, and illustrate the viability of
our approach using examples from a cyber-physical system that deploys Unmanned
Aerial Vehicles for emergency response
A Framework for Evaluating Traceability Benchmark Metrics
Many software traceability techniques have been developed in the past decade, but suffer from inaccuracy. To address this shortcoming, the software traceability research community seeks to employ benchmarking. Benchmarking will help the community agree on whether improvements to traceability techniques have addressed the challenges faced by the research community. A plethora of evaluation methods have been applied, with no consensus on what should be part of a community benchmark. The goals of this paper are: to identify recurring problems in evaluation of traceability techniques, to identify essential properties that evaluation methods should possess to overcome the identified problems, and to provide guidelines for benchmarking software traceability techniques. We illustrate the properties and guidelines using empirical evaluation of three software traceability techniques on nine data sets. The proposed benchmarking framework can be broadly applied to domains beyond traceability research
Leveraging Transformer-based Language Models to Automate Requirements Satisfaction Assessment
Requirements Satisfaction Assessment (RSA) evaluates whether the set of
design elements linked to a single requirement provide sufficient coverage of
that requirement -- typically meaning that all concepts in the requirement are
addressed by at least one of the design elements. RSA is an important software
engineering activity for systems with any form of hierarchical decomposition --
especially safety or mission critical ones. In previous studies, researchers
used basic Information Retrieval (IR) models to decompose requirements and
design elements into chunks, and then evaluated the extent to which chunks of
design elements covered all chunks in the requirement. However, results had low
accuracy because many critical concepts that extend across the entirety of the
sentence were not well represented when the sentence was parsed into
independent chunks. In this paper we leverage recent advances in natural
language processing to deliver significantly more accurate results. We propose
two major architectures: Satisfaction BERT (Sat-BERT), and Dual-Satisfaction
BERT (DSat-BERT), along with their multitask learning variants to improve
satisfaction assessments. We perform RSA on five different datasets and compare
results from our variants against the chunk-based legacy approach. All
BERT-based models significantly outperformed the legacy baseline, and Sat-BERT
delivered the best results returning an average improvement of 124.75% in Mean
Average Precision
Semantically Enhanced Software Traceability Using Deep Learning Techniques
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.Comment: 2017 IEEE/ACM 39th International Conference on Software Engineering
(ICSE
- …