A Hitchhiker's guide to statistical tests for assessing randomized algorithms in software engineering
SUMMARYRandomized algorithms are widely used to address many types of software engineering problems, especially in the area of software verification and validation with a strong emphasis on test automation. However, randomized algorithms are affected by chance and so require the use of appropriate s...
Saved in:
Published in | Software testing, verification & reliability Vol. 24; no. 3; pp. 219 - 250 |
---|---|
Main Authors | , |
Format | Journal Article |
Language | English |
Published |
Chichester
Blackwell Publishing Ltd
01.05.2014
Wiley Subscription Services, Inc |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | SUMMARYRandomized algorithms are widely used to address many types of software engineering problems, especially in the area of software verification and validation with a strong emphasis on test automation. However, randomized algorithms are affected by chance and so require the use of appropriate statistical tests to be properly analysed in a sound manner. This paper features a systematic review regarding recent publications in 2009 and 2010 showing that, overall, empirical analyses involving randomized algorithms in software engineering tend to not properly account for the random nature of these algorithms. Many of the novel techniques presented clearly appear promising, but the lack of soundness in their empirical evaluations casts unfortunate doubts on their actual usefulness. In software engineering, although there are guidelines on how to carry out empirical analyses involving human subjects, those guidelines are not directly and fully applicable to randomized algorithms. Furthermore, many of the textbooks on statistical analysis are written from the viewpoints of social and natural sciences, which present different challenges from randomized algorithms. To address the questionable overall quality of the empirical analyses reported in the systematic review, this paper provides guidelines on how to carry out and properly analyse randomized algorithms applied to solve software engineering tasks, with a particular focus on software testing, which is by far the most frequent application area of randomized algorithms within software engineering. Copyright © 2012 John Wiley & Sons, Ltd.
Randomized algorithms are widely used to address many types of software engineering problems, but they are affected by chance and so require the use of appropriate statistical tests to be properly analysed. To address this issue, this paper provides guidelines on how to carry out and properly analyse randomized algorithms applied to solve software engineering tasks, with a particular focus on software testing. |
---|---|
Bibliography: | istex:B61E34EA07D120E2B2DB95EFDCB8CFA4CB10C092 ark:/67375/WNG-ZGFM7BMK-J This paper is an extension of a conference paper published in the International Conference on Software Engineering (ICSE), 2011. ArticleID:STVR1486 ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 ObjectType-Article-2 ObjectType-Feature-1 content type line 23 |
ISSN: | 0960-0833 1099-1689 |
DOI: | 10.1002/stvr.1486 |