Javascript must be enabled to continue!
Supporting requirements update during software evolution
View through CrossRef
SummaryUpdating the requirements specification when software systems evolve is a manual task that is expensive and time consuming. Therefore, maintainers usually apply the changes to the code directly and leave the requirements unchanged. This results in the requirements rapidly becoming obsolete and useless. In this paper, we propose an approach that supports the maintainer in keeping the requirements specification consistent with the implementation, by identifying the requirements that are impacted whenever the code is changed. Our approach works as follows. First, we analyze the changes that have been applied to the source code and detect if they are likely to impact the requirements or not. Second, we trace the requirements‐impacting changes back to the requirements specification to identify the parts that might need to be modified. The output of the tracing is a list of requirements that are sorted according to their likelihood of being impacted. Automatically identifying the parts of the requirements specification that are likely to need maintenance reduces the effort needed for keeping the requirements up‐to‐date and thus makes the task of the maintainer easier. When applying our approach in three cases studies, 70% to 100% of the impacted requirements were identified within a list that includes less than 20% of the total number of requirements in the specification. Copyright © 2015 John Wiley & Sons, Ltd.
Title: Supporting requirements update during software evolution
Description:
SummaryUpdating the requirements specification when software systems evolve is a manual task that is expensive and time consuming.
Therefore, maintainers usually apply the changes to the code directly and leave the requirements unchanged.
This results in the requirements rapidly becoming obsolete and useless.
In this paper, we propose an approach that supports the maintainer in keeping the requirements specification consistent with the implementation, by identifying the requirements that are impacted whenever the code is changed.
Our approach works as follows.
First, we analyze the changes that have been applied to the source code and detect if they are likely to impact the requirements or not.
Second, we trace the requirements‐impacting changes back to the requirements specification to identify the parts that might need to be modified.
The output of the tracing is a list of requirements that are sorted according to their likelihood of being impacted.
Automatically identifying the parts of the requirements specification that are likely to need maintenance reduces the effort needed for keeping the requirements up‐to‐date and thus makes the task of the maintainer easier.
When applying our approach in three cases studies, 70% to 100% of the impacted requirements were identified within a list that includes less than 20% of the total number of requirements in the specification.
Copyright © 2015 John Wiley & Sons, Ltd.
Related Results
Understanding the impact of requirements evolution and reaction on evolution of software: a survey and comparison
Understanding the impact of requirements evolution and reaction on evolution of software: a survey and comparison
In software systems, the continuous changing of requirements, known as requirements evolution, is considered one of the significant issues. Requirements' evolution denotes the post...
Actualització consistent de bases de dades deductives
Actualització consistent de bases de dades deductives
En aquesta tesi, proposem un nou mètode per a l'actualització consistent de bases de dades deductives. Donada una petició d'actualització, aquest mètode tradueix de forma automàtic...
Functional Requirements for Medical Data Integration in Knowledge Management Environments: A Systematic Literature Analysis (Preprint)
Functional Requirements for Medical Data Integration in Knowledge Management Environments: A Systematic Literature Analysis (Preprint)
BACKGROUND
In patient care, data are historically generated and stored in heterogeneous databases that are domain specific and are often non-interoperable o...
An ontology-based approach to engineering ethicality requirements
An ontology-based approach to engineering ethicality requirements
AbstractIn a world where Artificial Intelligence (AI) is pervasive, humans may feel threatened or at risk by giving up control to machines. In this context, ethicality becomes a ma...
Problem-Frame-Oriented Requirements Traceability to Enhance Requirements Management
Problem-Frame-Oriented Requirements Traceability to Enhance Requirements Management
Managing software requirements is a challenge in software development and maintenance. Requirements changes are inevitable, particularly in a rapid iterative development approach t...
Performance simulation methodologies for hardware/software co-designed processors
Performance simulation methodologies for hardware/software co-designed processors
Recently the community started looking into Hardware/Software (HW/SW) co-designed processors as potential solutions to move towards the less power consuming and the less complex de...
Exploring the use of gamification in human-centered agile-based requirements engineering
Exploring the use of gamification in human-centered agile-based requirements engineering
Gamification has become prevalent in educational settings, particularly in human-centered software engineering. Using gamified learning environments for comprehending software engi...
Software Assurance
Software Assurance
Abstract
Confidence in software quality is a rare commodity throughout all industries. Software publishers, users, and system integrators are highly distrustful of anyone...

