Header

UZH-Logo

Maintenance Infos

Why should we care about data quality in software engineering?


Bachmann, Adrian J E. Why should we care about data quality in software engineering? 2010, University of Zurich, Faculty of Economics.

Abstract

Abstract Software engineering tools such as bug tracking databases and ver- sion control systems store large amounts of data about the history and evolution of software projects. In the last few years, empirical soft- ware engineering researchers have paid attention to these data to pro- vide promising research results, for example, to predict the number of future bugs, recommend bugs to fix next, and visualize the evolution of software systems. Unfortunately, such data is not well-prepared for research purposes, which forces researchers to make process as- sumptions and develop tools and algorithms to extract, prepare, and integrate (i.e., inter-link) these data. This is inexact and may lead to quality issues. In addition, the quality of data stored in software engi- neering tools is questionable, which may have an additional effect on research results. In this thesis, therefore, we present a step-by-step procedure to gather, convert, and integrate software engineering process data, in- troducing an enhanced linking algorithm that results in a better link- ing ratio and, at the same time, higher data quality compared to pre- viously presented approaches. We then use this technique to generate six open source and two closed source software project datasets. In addition, we introduce a framework of data quality and characteris- tics measures, which allows an evaluation and comparison of these datasets. However, evaluating and reporting data quality issues are of no importance if there is no effect on research results, processes, or prod- uct quality. Therefore, we show why software engineering researchers should care about data quality issues and, fundamentally, show that such datasets are incomplete and biased; we also show that, even worse, the award-winning bug prediction algorithm B UG C ACHE is af- vi

fected by quality issues like these. The easiest way to fix such data quality issues would be to ensure good data quality at its origin by software engineering practitioners, which requires extra effort on their part. Therefore, we consider why practitioners should care about data quality and show that there are three reasons to do so: (i) process data quality issues have a negative effect on bug fixing activities, (ii) pro- cess data quality issues have an influence on product quality, and (iii) current and future laws and regulations such as the Sarbanes- Oxley Act or the Capability Maturity Model Integration (CMMI) as well as operational risk management implicitly require traceability and justification of all changes to information systems (e.g., by change management). In a way, this increases the demand for good data qual- ity in software engineering, including good data quality of the tools used in the process. Summarizing, we discuss why we should care about data quality in software engineering, showing that (i) we have various data quality issues in software engineering datasets and (ii) these quality issues have an effect on research results as well as missing traceability and justification of program code changes, and so software engineering researchers as well as software engineering practitioners should care about these issues. Zusammenfassung In der Softwareentwicklung werden heutzutage diverse Prozess- Hilfsprogramme zur Verwaltung von Softwarefehlern und zur Versi- onierung von Programmcode eingesetzt. Diese Hilfsprogramme spei- ¨ chern eine grosse Menge an Prozessdaten uber die Geschichte und Evolution eines Softwareprojekts. Seit einigen Jahren gewinnen die- se Prozessdaten zusehends an Beachtung im Bereich der empirischen Softwareanalyse. Forscher verwenden diese Daten beispielsweise fur ¨ ¨ Vorhersagen der Anzahl Softwarefehler in der Zukunft, fur Empfeh- ¨ lungen zur Priorisierung in der Fehlerbehebung oder fur Visualisie- ¨ rungen der Evolution eines Software Systems. Unglucklicherweise speichern aktuelle Hilfsprogramme solche Prozessdaten in einer Form, ¨ wie sie fur Forschungszwecke wenig geeignet ist, weshalb Forscher in ¨ der Regel Annahmen uber die Softwareentwicklungsprozesse treffen und eigene Tools zum Bezug, Vorbereitung sowie Integration dieser ¨ Daten entwickeln mussen. Die getroffenen Annahmen und angewen- deten Verfahren zum Bezug dieser Daten sind indes nicht exakt und ¨ konnen Fehler aufweisen. Ebenfalls sind die Prozessdaten in den ur- ¨ sprunglichen Hilfsprogramen von fraglicher Qualit¨ t. Dies kann dazu a ¨ fuhren, dass Forschungsresultate, welche auf solchen Daten basieren, fehlerhaft sind. ¨ In dieser Doktorarbeit pr¨ sentieren wir eine Schritt-fur-Schritt An- a leitung zum Bezug, Konvertieren und Integrieren von Software ¨ Prozessdaten und fuhren dabei einen verbesserten Algorithmus zur ¨ Verknupfung von gemeldeten Softwarefehlern mit Ver¨ nderungen am a Programmcode ein. Der verbesserte Algorithmus erzielt dabei eine ¨ ¨ hohere Verknupfungsrate und gleichzeitig eine verbesserte Qualit¨ t a ¨ verglichen mit fruher publizierten Algorithmen. Wir wenden diese Technik auf sechs Open Source und zwei Closed Source Softwarepro- viii

¨ jekte an und erzeugen entsprechende Datensets. Zus¨ tzlich fuhren wir a mehrere Metriken zur Analyse der Qualit¨ t und Beschaffenheit von a Prozessdaten ein. Diese Metriken erlauben eine Auswertung sowie ein ¨ Vergleich von Software Prozessdaten uber mehrere Projekte hinweg. Selbstverst¨ ndlich ist die Auswertung wie auch die Publikation des a Qualit¨ tslevels, sowie die Beschaffenheit von Prozessdaten uninteres- a sant, sofern kein Einfluss auf Forschungsresultate, Softwareprozesse oder Softwarequalit¨ t vorhanden ist. Wir analysieren daher die Fra- a ge, wieso Forscher in der empirischen Softwareanalyse sich um sol- ¨ che Gegebenheiten kummern sollten und zeigen, dass Software Pro- zessdaten von Qualit¨ tsproblemen betroffen sind (z.B. systematische a Fehler in den Daten). Anhand von B UG C ACHE, einem pr¨ mierten a Fehlervorhersage-Algorithmus, zeigen wir, dass diese Qualit¨ tspro-a ¨ bleme einen Einfluss auf Forschungsergebnisse haben konnen und ¨ sich Forscher daher um diese Probleme kummern sollten. Der ein- fachste Weg um solche Qualit¨ tsprobleme zu beseitigen w¨ re die Si- a a cherstellung von guter Datenqualit¨ t bei ihrer Entstehung und somit a in den Hilfsprogrammen, welche von Beteiligten in der Software Ent- wicklung (z.B. Software Entwickler, Software Tester, Software Projekt- leiter, etc.) verwendet werden. Aber wieso sollten diese Personen einen ¨ ¨ erhohten Aufwand fur eine verbesserte Datenqualit¨ t auf sich neh- a men? Wir analysieren auch diese Frage und zeigen, dass es drei Argu- ¨ mente dafur gibt: (i) Qualit¨ tsprobleme in Prozessdaten haben einen a negativen Einfluss auf die Fehlerbehebung, (ii) Qualit¨ tsprobleme in a Prozessdaten haben einen Einfluss auf die Qualit¨ t des Softwarepro- a ¨ ¨ dukts, und (iii) aktuell gultige sowie kunftige Gesetze und regulato- rische Vorgaben wie beispielsweise der Sarbanes-Oxley Act oder Informatik-Governance Modelle wie Capability Maturity Model Inte- gration (CMMI), aber auch Vorgaben aus dem Management operation- eller Risiken, verlangen die Nachvollziehbarkeit sowie Begrundung ¨ von allen Ver¨ nderungen an Informationssystemen. Zumindest indi- a rekt ergeben sich damit auch Anforderungen an eine gute Datenqua- lit¨ t von Prozessdaten, welche die Nachvollziehbarkeit von Ande- a ¨ rungen am Programmcode dokumentieren.

Zusammenfassend diskutieren wir in dieser Doktorarbeit wieso ix

¨ wir uns um Qualit¨ tsprobleme bei Software Prozessdaten kummern a sollten und zeigen, dass (i) Prozessdaten von diversen Qualit¨ tspro- a blemen betroffen sind und (ii) diese Qualit¨ tsprobleme einen Einfluss a auf Forschungsresultate haben aber auch zu einer fehlenden Nach- ¨ vollziehbarkeit bei Anderungen am Programmcode fuhren.¨

Abstract

Abstract Software engineering tools such as bug tracking databases and ver- sion control systems store large amounts of data about the history and evolution of software projects. In the last few years, empirical soft- ware engineering researchers have paid attention to these data to pro- vide promising research results, for example, to predict the number of future bugs, recommend bugs to fix next, and visualize the evolution of software systems. Unfortunately, such data is not well-prepared for research purposes, which forces researchers to make process as- sumptions and develop tools and algorithms to extract, prepare, and integrate (i.e., inter-link) these data. This is inexact and may lead to quality issues. In addition, the quality of data stored in software engi- neering tools is questionable, which may have an additional effect on research results. In this thesis, therefore, we present a step-by-step procedure to gather, convert, and integrate software engineering process data, in- troducing an enhanced linking algorithm that results in a better link- ing ratio and, at the same time, higher data quality compared to pre- viously presented approaches. We then use this technique to generate six open source and two closed source software project datasets. In addition, we introduce a framework of data quality and characteris- tics measures, which allows an evaluation and comparison of these datasets. However, evaluating and reporting data quality issues are of no importance if there is no effect on research results, processes, or prod- uct quality. Therefore, we show why software engineering researchers should care about data quality issues and, fundamentally, show that such datasets are incomplete and biased; we also show that, even worse, the award-winning bug prediction algorithm B UG C ACHE is af- vi

fected by quality issues like these. The easiest way to fix such data quality issues would be to ensure good data quality at its origin by software engineering practitioners, which requires extra effort on their part. Therefore, we consider why practitioners should care about data quality and show that there are three reasons to do so: (i) process data quality issues have a negative effect on bug fixing activities, (ii) pro- cess data quality issues have an influence on product quality, and (iii) current and future laws and regulations such as the Sarbanes- Oxley Act or the Capability Maturity Model Integration (CMMI) as well as operational risk management implicitly require traceability and justification of all changes to information systems (e.g., by change management). In a way, this increases the demand for good data qual- ity in software engineering, including good data quality of the tools used in the process. Summarizing, we discuss why we should care about data quality in software engineering, showing that (i) we have various data quality issues in software engineering datasets and (ii) these quality issues have an effect on research results as well as missing traceability and justification of program code changes, and so software engineering researchers as well as software engineering practitioners should care about these issues. Zusammenfassung In der Softwareentwicklung werden heutzutage diverse Prozess- Hilfsprogramme zur Verwaltung von Softwarefehlern und zur Versi- onierung von Programmcode eingesetzt. Diese Hilfsprogramme spei- ¨ chern eine grosse Menge an Prozessdaten uber die Geschichte und Evolution eines Softwareprojekts. Seit einigen Jahren gewinnen die- se Prozessdaten zusehends an Beachtung im Bereich der empirischen Softwareanalyse. Forscher verwenden diese Daten beispielsweise fur ¨ ¨ Vorhersagen der Anzahl Softwarefehler in der Zukunft, fur Empfeh- ¨ lungen zur Priorisierung in der Fehlerbehebung oder fur Visualisie- ¨ rungen der Evolution eines Software Systems. Unglucklicherweise speichern aktuelle Hilfsprogramme solche Prozessdaten in einer Form, ¨ wie sie fur Forschungszwecke wenig geeignet ist, weshalb Forscher in ¨ der Regel Annahmen uber die Softwareentwicklungsprozesse treffen und eigene Tools zum Bezug, Vorbereitung sowie Integration dieser ¨ Daten entwickeln mussen. Die getroffenen Annahmen und angewen- deten Verfahren zum Bezug dieser Daten sind indes nicht exakt und ¨ konnen Fehler aufweisen. Ebenfalls sind die Prozessdaten in den ur- ¨ sprunglichen Hilfsprogramen von fraglicher Qualit¨ t. Dies kann dazu a ¨ fuhren, dass Forschungsresultate, welche auf solchen Daten basieren, fehlerhaft sind. ¨ In dieser Doktorarbeit pr¨ sentieren wir eine Schritt-fur-Schritt An- a leitung zum Bezug, Konvertieren und Integrieren von Software ¨ Prozessdaten und fuhren dabei einen verbesserten Algorithmus zur ¨ Verknupfung von gemeldeten Softwarefehlern mit Ver¨ nderungen am a Programmcode ein. Der verbesserte Algorithmus erzielt dabei eine ¨ ¨ hohere Verknupfungsrate und gleichzeitig eine verbesserte Qualit¨ t a ¨ verglichen mit fruher publizierten Algorithmen. Wir wenden diese Technik auf sechs Open Source und zwei Closed Source Softwarepro- viii

¨ jekte an und erzeugen entsprechende Datensets. Zus¨ tzlich fuhren wir a mehrere Metriken zur Analyse der Qualit¨ t und Beschaffenheit von a Prozessdaten ein. Diese Metriken erlauben eine Auswertung sowie ein ¨ Vergleich von Software Prozessdaten uber mehrere Projekte hinweg. Selbstverst¨ ndlich ist die Auswertung wie auch die Publikation des a Qualit¨ tslevels, sowie die Beschaffenheit von Prozessdaten uninteres- a sant, sofern kein Einfluss auf Forschungsresultate, Softwareprozesse oder Softwarequalit¨ t vorhanden ist. Wir analysieren daher die Fra- a ge, wieso Forscher in der empirischen Softwareanalyse sich um sol- ¨ che Gegebenheiten kummern sollten und zeigen, dass Software Pro- zessdaten von Qualit¨ tsproblemen betroffen sind (z.B. systematische a Fehler in den Daten). Anhand von B UG C ACHE, einem pr¨ mierten a Fehlervorhersage-Algorithmus, zeigen wir, dass diese Qualit¨ tspro-a ¨ bleme einen Einfluss auf Forschungsergebnisse haben konnen und ¨ sich Forscher daher um diese Probleme kummern sollten. Der ein- fachste Weg um solche Qualit¨ tsprobleme zu beseitigen w¨ re die Si- a a cherstellung von guter Datenqualit¨ t bei ihrer Entstehung und somit a in den Hilfsprogrammen, welche von Beteiligten in der Software Ent- wicklung (z.B. Software Entwickler, Software Tester, Software Projekt- leiter, etc.) verwendet werden. Aber wieso sollten diese Personen einen ¨ ¨ erhohten Aufwand fur eine verbesserte Datenqualit¨ t auf sich neh- a men? Wir analysieren auch diese Frage und zeigen, dass es drei Argu- ¨ mente dafur gibt: (i) Qualit¨ tsprobleme in Prozessdaten haben einen a negativen Einfluss auf die Fehlerbehebung, (ii) Qualit¨ tsprobleme in a Prozessdaten haben einen Einfluss auf die Qualit¨ t des Softwarepro- a ¨ ¨ dukts, und (iii) aktuell gultige sowie kunftige Gesetze und regulato- rische Vorgaben wie beispielsweise der Sarbanes-Oxley Act oder Informatik-Governance Modelle wie Capability Maturity Model Inte- gration (CMMI), aber auch Vorgaben aus dem Management operation- eller Risiken, verlangen die Nachvollziehbarkeit sowie Begrundung ¨ von allen Ver¨ nderungen an Informationssystemen. Zumindest indi- a rekt ergeben sich damit auch Anforderungen an eine gute Datenqua- lit¨ t von Prozessdaten, welche die Nachvollziehbarkeit von Ande- a ¨ rungen am Programmcode dokumentieren.

Zusammenfassend diskutieren wir in dieser Doktorarbeit wieso ix

¨ wir uns um Qualit¨ tsprobleme bei Software Prozessdaten kummern a sollten und zeigen, dass (i) Prozessdaten von diversen Qualit¨ tspro- a blemen betroffen sind und (ii) diese Qualit¨ tsprobleme einen Einfluss a auf Forschungsresultate haben aber auch zu einer fehlenden Nach- ¨ vollziehbarkeit bei Anderungen am Programmcode fuhren.¨

Statistics

Citations

2 citations in Microsoft Academic

Downloads

1512 downloads since deposited on 24 Feb 2011
83 downloads since 12 months
Detailed statistics

Additional indexing

Item Type:Dissertation (monographical)
Referees:Bernstein Abraham, Gall Harald C
Communities & Collections:UZH Dissertations
Dewey Decimal Classification:000 Computer science, knowledge & systems
Uncontrolled Keywords:Management Of Computing And Information Systems
Language:English
Place of Publication:Zürich
Date:2010
Deposited On:24 Feb 2011 09:32
Last Modified:24 Sep 2019 17:27
Number of Pages:252
Additional Information:Why should we care about data quality in software engineering? / by Adrian J.E. Bachmann. - Zürich, 2010
OA Status:Green
Related URLs:https://www.recherche-portal.ch/primo-explore/fulldisplay?docid=ebi01_prod006310100&context=L&vid=ZAD&search_scope=default_scope&tab=default_tab&lang=de_DE (Library Catalogue)
Other Identification Number:1619

Download

Green Open Access

Download PDF  'Why should we care about data quality in software engineering?'.
Preview
Filetype: PDF
Size: 3MB