Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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
  • Get Citation Alerts
  • 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
    • (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
    • Show More Cited By

    Recommendations

    Comments

    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 '24

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)27
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 12 Aug 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
    • (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
    • (2022)TackleTest: A Tool for Amplifying Test Generation via Type-Based Combinatorial Coverage2022 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST53961.2022.00050(444-455)Online publication date: Apr-2022
    • Show More Cited By

    View Options

    Get Access

    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