ITU

How Does the Degree of Variability Affect Bug-Finding?

Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

Standard

How Does the Degree of Variability Affect Bug-Finding? / Melo, Jean; Brabrand, Claus; Wasowski, Andrzej.

ICSE '16 Proceedings of the 38th International Conference on Software Engineering. Association for Computing Machinery, 2016. p. 679-690.

Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

Harvard

Melo, J, Brabrand, C & Wasowski, A 2016, How Does the Degree of Variability Affect Bug-Finding? in ICSE '16 Proceedings of the 38th International Conference on Software Engineering. Association for Computing Machinery, pp. 679-690. https://doi.org/10.1145/2884781.2884831

APA

Melo, J., Brabrand, C., & Wasowski, A. (2016). How Does the Degree of Variability Affect Bug-Finding? In ICSE '16 Proceedings of the 38th International Conference on Software Engineering (pp. 679-690). Association for Computing Machinery. https://doi.org/10.1145/2884781.2884831

Vancouver

Melo J, Brabrand C, Wasowski A. How Does the Degree of Variability Affect Bug-Finding? In ICSE '16 Proceedings of the 38th International Conference on Software Engineering. Association for Computing Machinery. 2016. p. 679-690 https://doi.org/10.1145/2884781.2884831

Author

Melo, Jean ; Brabrand, Claus ; Wasowski, Andrzej. / How Does the Degree of Variability Affect Bug-Finding?. ICSE '16 Proceedings of the 38th International Conference on Software Engineering. Association for Computing Machinery, 2016. pp. 679-690

Bibtex

@inproceedings{25affa624c9543259b078173a2733515,
title = "How Does the Degree of Variability Affect Bug-Finding?",
abstract = "Software projects embrace variability to increase adaptability and to lower cost; however, others blame variability for increasing complexity and making reasoning about programs more difficult. We carry out a controlled experiment to quantify the impact of variability on debugging of preprocessor-based programs. We measure speed and precision for bug finding tasks defined at three different degrees of variability on several subject programs derived from real systems.The results show that the speed of bug finding decreases linearly with the number of features, while effectiveness of finding bugs is relatively independent of the degree of variability. Still, identifying the set of configurations in which the bug manifests itself is difficult already for a low number of features. Surprisingly, identifying the exact set of affected configurations appears to be harder than finding the bug in the first place. The difficulty in reasoning about several configurations is a likely reason why the variability bugs are actually introduced in configurable programs.We hope that the detailed findings presented here will inspire the creation of programmer support tools addressing the challenges faced by developers when reasoning about configurations, contributing to more effective debugging and, ultimately, fewer bugs in highly-configurable systems.",
author = "Jean Melo and Claus Brabrand and Andrzej Wasowski",
year = "2016",
month = may,
day = "14",
doi = "10.1145/2884781.2884831",
language = "English",
isbn = "978-1-4503-3900-1",
pages = "679--690",
booktitle = "ICSE '16 Proceedings of the 38th International Conference on Software Engineering",
publisher = "Association for Computing Machinery",
address = "United States",

}

RIS

TY - GEN

T1 - How Does the Degree of Variability Affect Bug-Finding?

AU - Melo, Jean

AU - Brabrand, Claus

AU - Wasowski, Andrzej

PY - 2016/5/14

Y1 - 2016/5/14

N2 - Software projects embrace variability to increase adaptability and to lower cost; however, others blame variability for increasing complexity and making reasoning about programs more difficult. We carry out a controlled experiment to quantify the impact of variability on debugging of preprocessor-based programs. We measure speed and precision for bug finding tasks defined at three different degrees of variability on several subject programs derived from real systems.The results show that the speed of bug finding decreases linearly with the number of features, while effectiveness of finding bugs is relatively independent of the degree of variability. Still, identifying the set of configurations in which the bug manifests itself is difficult already for a low number of features. Surprisingly, identifying the exact set of affected configurations appears to be harder than finding the bug in the first place. The difficulty in reasoning about several configurations is a likely reason why the variability bugs are actually introduced in configurable programs.We hope that the detailed findings presented here will inspire the creation of programmer support tools addressing the challenges faced by developers when reasoning about configurations, contributing to more effective debugging and, ultimately, fewer bugs in highly-configurable systems.

AB - Software projects embrace variability to increase adaptability and to lower cost; however, others blame variability for increasing complexity and making reasoning about programs more difficult. We carry out a controlled experiment to quantify the impact of variability on debugging of preprocessor-based programs. We measure speed and precision for bug finding tasks defined at three different degrees of variability on several subject programs derived from real systems.The results show that the speed of bug finding decreases linearly with the number of features, while effectiveness of finding bugs is relatively independent of the degree of variability. Still, identifying the set of configurations in which the bug manifests itself is difficult already for a low number of features. Surprisingly, identifying the exact set of affected configurations appears to be harder than finding the bug in the first place. The difficulty in reasoning about several configurations is a likely reason why the variability bugs are actually introduced in configurable programs.We hope that the detailed findings presented here will inspire the creation of programmer support tools addressing the challenges faced by developers when reasoning about configurations, contributing to more effective debugging and, ultimately, fewer bugs in highly-configurable systems.

UR - http://itu.dk/people/jeam/variability-experiment/

U2 - 10.1145/2884781.2884831

DO - 10.1145/2884781.2884831

M3 - Article in proceedings

SN - 978-1-4503-3900-1

SP - 679

EP - 690

BT - ICSE '16 Proceedings of the 38th International Conference on Software Engineering

PB - Association for Computing Machinery

ER -

ID: 81023632