Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2001420.2001452acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Adaptive random testing: an illusion of effectiveness?

Published: 17 July 2011 Publication History

Abstract

Adaptive Random Testing (ART) has been proposed as an enhancement to random testing, based on assumptions on how failing test cases are distributed in the input domain. The main assumption is that failing test cases are usually grouped into contiguous regions. Many papers have been published in which ART has been described as an effective alternative to random testing when using the average number of test case executions needed to find a failure (F-measure). But all the work in the literature is based either on simulations or case studies with unreasonably high failure rates. In this paper, we report on the largest empirical analysis of ART in the literature, in which 3727 mutated programs and nearly ten trillion test cases were used. Results show that ART is highly inefficient even on trivial problems when accounting for distance calculations among test cases, to an extent that probably prevents its practical use in most situations. For example, on the infamous Triangle Classification program, random testing finds failures in few milliseconds whereas ART execution time is prohibitive. Even when assuming a small, fixed size test set and looking at the probability of failure (P-measure), ART only fares slightly better than random testing, which is not sufficient to make it applicable in realistic conditions. We provide precise explanations of this phenomenon based on rigorous empirical analyses. For the simpler case of single-dimension input domains, we also perform formal analyses to support our claim that ART is of little use in most situations, unless drastic enhancements are developed. Such analyses help us explain some of the empirical results and identify the components of ART that need to be improved to make it a viable option in practice.

References

[1]
P. E. Ammann and J. C. Knight. Data diversity: An approach to software fault tolerance. IEEE Transations on Computers, 37(4):418--425, 1988.
[2]
J. H. Andrews, L. C. Briand, Y. Labiche, and A. S. Namin. Using mutation analysis for assessing and comparing testing coverage criteria. IEEE Transactions on Software Engineering (TSE), 32(8):608--624, 2006.
[3]
A. Arcuri and L. Briand. A practical guide for using statistical tests to assess randomized algorithms in software engineering. In ACM/IEEE International Conference on Software Engineering (ICSE), 2011.
[4]
A. Arcuri, M. Z. Iqbal, and L. Briand. Black-box system testing of real-time embedded systems using random and search-based testing. In IFIP International Conference on Testing Software and Systems (ICTSS), pages 95--110, 2010.
[5]
A. Arcuri, M. Z. Iqbal, and L. Briand. Formal analysis of the effectiveness and predictability of random testing. In ACM International Symposium on Software Testing and Analysis (ISSTA), pages 219--229, 2010.
[6]
T. Chen, F. Kuo, and H. Liu. Adaptive random testing based on distribution metrics. Journal of Systems and Software (JSS), 82(9):1419--1433, 2009.
[7]
T. Y. Chen, D. Huang, F. Kuo, R. Merkel, and J. Mayer. Enhanced lattice-based adaptive random testing. In Proceedings of the ACM symposium on Applied Computing, pages 422--429, 2009.
[8]
T. Y. Chen, F. Kuo, and Z. Zhou. On favourable conditions for adaptive random testing. International Journal of Software Engineering and Knowledge Engineering, 17(6):805--825, 2007.
[9]
T. Y. Chen, F. C. Kuo, and H. Liu. Distributing test cases more evenly in adaptive random testing. Journal of Systems and Software (JSS), 81(12):2146--2162, 2008.
[10]
T. Y. Chen, F. C. Kuo, and H. Liu. Application of a failure driven test profile in random testing. IEEE Transactions on Reliability, 58(1):179--192, 2009.
[11]
T. Y. Chen, F. C. Kuo, R. G. Merkel, and S. Ng. Mirror adaptive random testing. Information and Software Technology (IST), 46(15):1001--1010, 2004.
[12]
T. Y. Chen, F. Kuoa, R. G. Merkela, and T. Tseb. Adaptive random testing: The art of test case diversity. Journal of Systems and Software (JSS), 2010. (in press).
[13]
T. Y. Chen, H. Leung, and I. K. Mak. Adaptive random testing. In Advances in Computer Science, pages 320--329, 2004.
[14]
T. Y. Chen and R. Merkel. An upper bound on software testing effectiveness. 17(3):1--27, 2008.
[15]
I. Ciupa, A. Leitner, M. Oriol, and B. Meyer. Artoo: adaptive random testing for object-oriented software. In ACM/IEEE International Conference on Software Engineering (ICSE), pages 71--80, 2008.
[16]
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. MIT Press and McGraw-Hill, second edition, 2001.
[17]
J. W. Duran and S. C. Ntafos. An evaluation of random testing. IEEE Transactions on Software Engineering (TSE), 10(4):438--444, 1984.
[18]
W. Feller. An Introduction to Probability Theory and Its Applications, Vol. 1. Wiley, 3 edition, 1968.
[19]
G. B. Finelli. Nasa software failure characterization experiments. Reliability Engineering & System Safety, 32:155--169, 1991.
[20]
P. Godefroid, N. Klarlund, and K. Sen. Dart: directed automated random testing. In ACM Conference on Programming language design and implementation (PLDI), pages 213--223, 2005.
[21]
D. E. Goldberg. Genetic Algorithms in Search and Optimization. Addison-wesley, 1989.
[22]
R. Grissom and J. Kim. Effect sizes for research: A broad practical approach. Lawrence Erlbaum, 2005.
[23]
M. Harman, S. A. Mansouri, and Y. Zhang. Search based software engineering: A comprehensive analysis and review of trends techniques and applications. Technical Report TR-09-03, King's College, 2009.
[24]
H. Hemmati, A. Arcuri, and L. Briand. Reducing the cost of model-based testing through test case diversity. In IFIP International Conference on Testing Software and Systems (ICTSS), 2010.
[25]
B. Jiang, Z. Zhang, W. Chan, and T. Tse. Adaptive random test case prioritization. In IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 233--244, 2009.
[26]
F. C. Kuo. An indepth study of mirror adaptive random testing. In International Conference on Quality Software, pages 51--58, 2009.
[27]
F. C. Kuo, T. Y. Chen, H. Liu, and W. K. Chan. Enhancing adaptive random testing for programs with high dimensional input domains or failure-unrelated parameters. Software Quality Journal, 16(3):303--327, 2008.
[28]
Z. Li, M. Harman, and R. M. Hierons. Meta-heuristic search algorithms for regression test case prioritization. IEEE Transactions on Software Engineering (TSE), 33(4):225--237, 2007.
[29]
Y. Lin, X. Tang, Y. Chen, and J. Zhao. A divergence-oriented approach to adaptive random testing of java programs. In IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 221--232, 2009.
[30]
Y. S. Ma, J. Offutt, and Y. R. Kwon. Mujava: an automated class mutation system. Software Testing, Verification and Reliability, 15(2):97--133, 2005.
[31]
N. Mansour, R. Bahsoon, and G. Baradhi. Empirical comparison of regression test selection algorithms. Journal of Systems and Software, 57(1):79--90, 2001.
[32]
J. Mayer. Lattice-based adaptive random testing. In IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 333--336, 2005.
[33]
J. Mayer and C. Schneckenburger. An empirical analysis and comparison of random testing techniques. In ACM/IEEE International symposium on Empirical Software Engineering, pages 105--114, 2006.
[34]
G. Myers. The Art of Software Testing. Wiley, New York, 1979.
[35]
C. Pacheco, S. K. Lahiri, M. D. Ernst, and T. Ball. Feedback-directed random test generation. In ACM/IEEE International Conference on Software Engineering (ICSE), pages 75--84, 2007.
[36]
W. H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery. Numerical recipes: the art of scientific computing. Cambridge University Press, 2007.
[37]
R Development Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria, 2008. ISBN 3-900051-07-0.
[38]
C. Schneckenburger and J. Mayer. Towards the determination of typical failure patterns. In International workshop on Software quality assurance, pages 90--93, 2007.
[39]
S. Shin, S. Park, K. Choi, and K. Jung. Normalized Adaptive Random Test for Integration Tests. In IEEE International Workshop on Software Test Automation, 2010.
[40]
A. F. Tappenden and J. Miller. A novel evolutionary approach for adaptive random testing. IEEE Transactions On Reliability, 58(4):619--633, 2009.
[41]
T. A. Thayer, M. Lipow, and E. C. Nelson. Software Reliability. North Holland, Amsterdam, 1978.
[42]
L. J. White and E. I. Cohen. A domain strategy for computer program testing. IEEE Transactions on Software Engineering (TSE), 6(3):247--257, 1980.
[43]
S. H. Wu, S. Jandhyala., Y. K. Malaiya, and A. P. Jayasumana. Antirandom testing: a distance-based approach. VLSI Design, 10:1--9, 2008.
[44]
Z. Zhou. Using Coverage Information to Guide Test Case Selection in Adaptive Random Testing. In IEEE International Workshop on Software Test Automation, 2010.

Cited By

View all
  • (2024)Toward Cost-Effective Adaptive Random Testing: An Approximate Nearest Neighbor ApproachIEEE Transactions on Software Engineering10.1109/TSE.2024.337959250:5(1182-1214)Online publication date: May-2024
  • (2024)Causal Test Adequacy2024 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST60714.2024.00023(161-172)Online publication date: 27-May-2024
  • (2023)The MADAG Strategy for Fault Location TechniquesApplied Sciences10.3390/app1302081913:2(819)Online publication date: 6-Jan-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ISSTA '11: Proceedings of the 2011 International Symposium on Software Testing and Analysis
July 2011
394 pages
ISBN:9781450305624
DOI:10.1145/2001420
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 July 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. F-measure
  2. P-measure
  3. distance
  4. diversity
  5. faulty region
  6. random testing
  7. shape
  8. similarity

Qualifiers

  • Research-article

Conference

ISSTA '11
Sponsor:

Acceptance Rates

Overall Acceptance Rate 58 of 213 submissions, 27%

Upcoming Conference

ISSTA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)27
  • Downloads (Last 6 weeks)2
Reflects downloads up to 18 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Toward Cost-Effective Adaptive Random Testing: An Approximate Nearest Neighbor ApproachIEEE Transactions on Software Engineering10.1109/TSE.2024.337959250:5(1182-1214)Online publication date: May-2024
  • (2024)Causal Test Adequacy2024 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST60714.2024.00023(161-172)Online publication date: 27-May-2024
  • (2023)The MADAG Strategy for Fault Location TechniquesApplied Sciences10.3390/app1302081913:2(819)Online publication date: 6-Jan-2023
  • (2023)DTester: Diversity-Driven Test Case Generation for Web ApplicationsInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402350055934:02(357-390)Online publication date: 26-Oct-2023
  • (2023)EMB: A Curated Corpus of Web/Enterprise Applications And Library Support for Software Testing Research2023 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST57152.2023.00047(433-442)Online publication date: Apr-2023
  • (2023)Evaluating the Trade-offs of Text-based Diversity in Test Prioritisation2023 IEEE/ACM International Conference on Automation of Software Test (AST)10.1109/AST58925.2023.00021(168-178)Online publication date: May-2023
  • (2023).NET/C# instrumentation for search-based software testingSoftware Quality Journal10.1007/s11219-023-09645-131:4(1439-1465)Online publication date: 1-Sep-2023
  • (2023)A lightweight adaptive random testing method for deep learning systemsSoftware: Practice and Experience10.1002/spe.325653:11(2271-2295)Online publication date: 30-Aug-2023
  • (2022)Combining Genetic Programming and Model Checking to Generate Environment AssumptionsIEEE Transactions on Software Engineering10.1109/TSE.2021.310181848:9(3664-3685)Online publication date: 1-Sep-2022
  • (2022)Testing Self-Adaptive Software With Probabilistic Guarantees on Performance Metrics: Extended and Comparative ResultsIEEE Transactions on Software Engineering10.1109/TSE.2021.310113048:9(3554-3572)Online publication date: 1-Sep-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media