Chicago, IL, USA USA
Sept. 24, 2012 to Sept. 28, 2012
Eya Ben Charrada , Departement of Informatics, University of Zurich, Switzerland
Anne Koziolek , Departement of Informatics, University of Zurich, Switzerland
Martin Glinz , Departement of Informatics, University of Zurich, Switzerland
Keeping requirements specifications up-to-date when systems evolve is a manual and expensive task. Software engineers have to go through the whole requirements document and look for the requirements that are affected by a change. Consequently, engineers usually apply changes to the implementation directly and leave requirements unchanged. In this paper, we propose an approach for automatically detecting outdated requirements based on changes in the code. Our approach first identifies the changes in the code that are likely to affect requirements. Then it extracts a set of keywords describing the changes. These keywords are traced to the requirements specification, using an existing automated traceability tool, to identify affected requirements. Automatically identifying outdated requirements reduces the effort and time needed for the maintenance of requirements specifications significantly and thus helps preserve the knowledge contained in them. We evaluated our approach in a case study where we analyzed two consecutive source code versions and were able to detect 12 requirements-related changes out of 14 with a precision of 79%. Then we traced a set of keywords we extracted from these changes to the requirements specification. In comparison to simply tracing changed classes to requirements, we got better results in most cases.
software evolution, requirements update, traceability, source code changes
Eya Ben Charrada, Anne Koziolek, Martin Glinz, "Identifying outdated requirements based on source code changes", RE, 2012, 2013 21st IEEE International Requirements Engineering Conference (RE), 2013 21st IEEE International Requirements Engineering Conference (RE) 2012, pp. 61-70, doi:10.1109/RE.2012.6345840