Header

UZH-Logo

Maintenance Infos

Supporting requirements update during software evolution


Ben Charrada, Eya; Charrada, Eya Ben. Supporting requirements update during software evolution. 2013, University of Zurich, Faculty of Economics.

Abstract

v





The existence of an up-to-date requirements specification is very crucial for software evolution. In fact, the requirements speci- fication facilitates program comprehension, gives the rationale behind the implementation, prevents undoing important decisions and serves as a basis to discuss feature changes with stakeholders. Despite their importance, requirements specifications are rarely kept up-to-date. This is mainly due to the high-costs of the ap- proaches used nowadays to maintain them. In fact, requirements maintenance is still a manual task that requires the engineer to go through the whole requirements document, which can be hundreds or thousands of pages, and look for the parts that need to be changed. In this thesis, we explore new ways to reduce the effort needed to maintain the requirements specification. We propose two approaches, one based on tests and one based on code, to automatically identify the parts of the requirements specification that become outdated when the implementation is changed. In the code-based approach, which is the main contribution of the thesis, we compare two versions of the source code, identify the relevant vi — changes and trace these changes back to the requirements to iden- tify the parts that are impacted. When applying the approach to two case studies, it identified 70% to 100% of the outdated require- ments within a list including less than 20% of the total number of requirements in the specification. Automatically identifying the requirements that are likely to be outdated should reduce the effort needed for requirements maintenance and thus encourage maintainers to regularly update the specification. vii





Die Verf¨ gbarkeit einer aktuellen Anforderungsspezifikation ist u von grosser Bedeutung f¨ r die Software-Evolution. Eine Anfor- u derungsspezifikation erleichtert das Programmverst¨ndnis, liefert a die Beweggr¨nde f¨r die Implementierung, verhindert, dass wichti- u u ge Entscheidungen versehentlich r¨ckg¨ngig gemacht werden und u a dient als Grundlage zur Diskussion von Funktions¨nderungen mit a Interesseneignern (Stakeholdern). In realen Projekten allerdings werden Anforderungsspezifikationen selten gepflegt bzw. aktuell gehalten. Dies ist vor allem bedingt durch den hohen Aufwand, den die heutigen Ans¨tze erfordern. Faktisch ist die Pflege der An- a forderungsspezifikation heute noch ein manueller Prozess, bei dem die verantwortliche Person das gesamte Anforderungsdokument, welches hunderte oder tausende von Seiten umfassen kann, durch- lesen muss, um die zu aktualisierenden Stellen zu identifizieren. In dieser Arbeit untersuchen wir neue Ans¨tze, um den Aufwand a f¨ r die Pflege der Anforderungsspezifikation zu reduzieren. Wir u schlagen zwei automatisierte Methoden vor, um diejenigen Tei- le der Anforderungsspezifikation zu identifizieren, die bei einer viii — ¨ Anderung in der Implementierung angepasst werden m¨ssen. Eine u der beiden Methoden ist testbasiert, die andere quellcodebasiert. In der quellcodebasierten Methode, die den wichtigsten Beitrag dieser Arbeit darstellt, werden zwei Versionen des Quellcodes verglichen, ¨ relevante Anderungen identifiziert und diese zu den zugeh¨rigen o Anforderungen zur¨ckverfolgt. Bei der Anwendung dieser Methode u auf zwei Fallstudien wurden 70% bis 100% der nicht mehr aktuellen Anforderungen identifiziert, und dies in einer Liste mit weniger als 20% der gesamten Anforderungen. Die automatische Ermittlung ¨ der Anforderungen, welche bei einer Anderung im Code mit grosser Wahrscheinlichkeit nicht mehr aktuell sind, sollte den Aufwand f¨r u die Pflege der Anforderungen reduzieren und dadurch die Pflege- verantwortlichen motivieren, nicht nur den Code, sondern auch die Anforderungsspezifikation zu pflegen und aktuell zu halten.

Abstract

v





The existence of an up-to-date requirements specification is very crucial for software evolution. In fact, the requirements speci- fication facilitates program comprehension, gives the rationale behind the implementation, prevents undoing important decisions and serves as a basis to discuss feature changes with stakeholders. Despite their importance, requirements specifications are rarely kept up-to-date. This is mainly due to the high-costs of the ap- proaches used nowadays to maintain them. In fact, requirements maintenance is still a manual task that requires the engineer to go through the whole requirements document, which can be hundreds or thousands of pages, and look for the parts that need to be changed. In this thesis, we explore new ways to reduce the effort needed to maintain the requirements specification. We propose two approaches, one based on tests and one based on code, to automatically identify the parts of the requirements specification that become outdated when the implementation is changed. In the code-based approach, which is the main contribution of the thesis, we compare two versions of the source code, identify the relevant vi — changes and trace these changes back to the requirements to iden- tify the parts that are impacted. When applying the approach to two case studies, it identified 70% to 100% of the outdated require- ments within a list including less than 20% of the total number of requirements in the specification. Automatically identifying the requirements that are likely to be outdated should reduce the effort needed for requirements maintenance and thus encourage maintainers to regularly update the specification. vii





Die Verf¨ gbarkeit einer aktuellen Anforderungsspezifikation ist u von grosser Bedeutung f¨ r die Software-Evolution. Eine Anfor- u derungsspezifikation erleichtert das Programmverst¨ndnis, liefert a die Beweggr¨nde f¨r die Implementierung, verhindert, dass wichti- u u ge Entscheidungen versehentlich r¨ckg¨ngig gemacht werden und u a dient als Grundlage zur Diskussion von Funktions¨nderungen mit a Interesseneignern (Stakeholdern). In realen Projekten allerdings werden Anforderungsspezifikationen selten gepflegt bzw. aktuell gehalten. Dies ist vor allem bedingt durch den hohen Aufwand, den die heutigen Ans¨tze erfordern. Faktisch ist die Pflege der An- a forderungsspezifikation heute noch ein manueller Prozess, bei dem die verantwortliche Person das gesamte Anforderungsdokument, welches hunderte oder tausende von Seiten umfassen kann, durch- lesen muss, um die zu aktualisierenden Stellen zu identifizieren. In dieser Arbeit untersuchen wir neue Ans¨tze, um den Aufwand a f¨ r die Pflege der Anforderungsspezifikation zu reduzieren. Wir u schlagen zwei automatisierte Methoden vor, um diejenigen Tei- le der Anforderungsspezifikation zu identifizieren, die bei einer viii — ¨ Anderung in der Implementierung angepasst werden m¨ssen. Eine u der beiden Methoden ist testbasiert, die andere quellcodebasiert. In der quellcodebasierten Methode, die den wichtigsten Beitrag dieser Arbeit darstellt, werden zwei Versionen des Quellcodes verglichen, ¨ relevante Anderungen identifiziert und diese zu den zugeh¨rigen o Anforderungen zur¨ckverfolgt. Bei der Anwendung dieser Methode u auf zwei Fallstudien wurden 70% bis 100% der nicht mehr aktuellen Anforderungen identifiziert, und dies in einer Liste mit weniger als 20% der gesamten Anforderungen. Die automatische Ermittlung ¨ der Anforderungen, welche bei einer Anderung im Code mit grosser Wahrscheinlichkeit nicht mehr aktuell sind, sollte den Aufwand f¨r u die Pflege der Anforderungen reduzieren und dadurch die Pflege- verantwortlichen motivieren, nicht nur den Code, sondern auch die Anforderungsspezifikation zu pflegen und aktuell zu halten.

Statistics

Downloads

471 downloads since deposited on 21 Jan 2014
71 downloads since 12 months
Detailed statistics

Additional indexing

Item Type:Dissertation (monographical)
Referees:Glinz Martin, Alonso Gustavo
Communities & Collections:UZH Dissertations
Dewey Decimal Classification:000 Computer science, knowledge & systems
Uncontrolled Keywords:Requirements Engineering, Softwareentwicklung
Language:English
Place of Publication:Zürich
Date:2013
Deposited On:21 Jan 2014 13:28
Last Modified:28 Oct 2019 08:19
Number of Pages:198
OA Status:Green
Related URLs:https://www.recherche-portal.ch/primo-explore/fulldisplay?docid=ebi01_prod009962419&context=L&vid=ZAD&search_scope=default_scope&tab=default_tab&lang=de_DE (Library Catalogue)
Other Identification Number:merlin-id:8892

Download

Green Open Access

Download PDF  'Supporting requirements update during software evolution'.
Preview
Filetype: PDF
Size: 2MB