skip to main content
10.1145/3412841.3442002acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

A method for the automated generating of the code-coverage ensuring input test data based on the control flow analysis

Published:22 April 2021Publication History

ABSTRACT

This paper describes the design and implementation of a method aimed at the automation of the input test data. The method is based on the analysis of the control flow graph of the tested application and should provide an automated way for obtaining input test data that will allow us to systematically cover the program with unit tests. The analysis starts with the tested method parameters and searches the method body to find the relation between the inputs and the conditions that affect the control flow. The control flow graphs are obtained from the Java bytecode, however, the rest of the analysis is performed only on the control flow graph and thus should be platform-independent. The functionality of the method is verified on the set of Java applications.

References

  1. 2017. 5 Test Data Generation Techniques You Need to Know. https://www.testbytes.net/blog/5-test-data-generation-techniques-to-know/Google ScholarGoogle Scholar
  2. 2020. Symja Library - Java Symbolic Math System for Android NCalc calculator. https://github.com/axkr/symja_android_libraryGoogle ScholarGoogle Scholar
  3. B. S. Ahmed, K. Z. Zamli, W. Afzal, and M. Bures. 2017. Constrained Interaction Testing: A Systematic Literature Study. IEEE Access 5 (2017), 25706--25730.Google ScholarGoogle ScholarCross RefCross Ref
  4. Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. 2006. Compilers: Principles, Techniques, and Tools (2nd Edition). Addison-Wesley Longman Publishing Co., Inc., USA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Alvin Alexander. 2013. Scala Cookbook: Recipes for Object-Oriented and Functional Programming (1st ed.). OâĂŹReilly Media, Inc.Google ScholarGoogle Scholar
  6. Saswat Anand, Edmund K. Burke, Tsong Yueh Chen, John Clark, Myra B. Cohen, Wolfgang Grieskamp, Mark Harman, Mary Jean Harrold, Phil McMinn, Antonia Bertolino, J. [Jenny Li], and Hong Zhu. 2013. An orchestrated survey of methodologies for automated software test case generation. Journal of Systems and Software 86, 8 (2013), 1978 -- 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Ishan Banerjee, Bao Nguyen, Vahid Garousi, and Atif Memon. 2013. Graphical user interface (GUI) testing: Systematic mapping and repository. Information and Software Technology 55, 10 (2013), 1679 -- 1694. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Miroslav Bures, Pavel Herout, and Bestoun S. Ahmed. 2020. Open-source Defect Injection Benchmark Testbed for the Evaluation of Testing. arXiv:cs.SE/2001.09342Google ScholarGoogle Scholar
  9. JoÃčo B. [de Souza Neto], Anamaria M. Moreira, and Martin A. Musicante. 2018. Semantic Web Services testing: A Systematic Mapping study. Computer Science Review 28 (2018), 140 -- 156. Google ScholarGoogle ScholarCross RefCross Ref
  10. Jon Edvardsson. 2002. A Survey on Automatic Test Data Generation. (2002). https://www.cc.gatech.edu/~harrold/6340/cs6340_fall2009/Readings/test.data.genration.survey.pdfGoogle ScholarGoogle Scholar
  11. Paul Havlak. 1997. Nesting of Reducible and Irreducible Loops. ACM Trans. Program. Lang. Syst. 19, 4 (July 1997), 557--567. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Cem Kaner, James Bach, and Bret Pettichord. 2001. Lessons Learned in Software Testing. John Wiley & Sons, Inc., USA.Google ScholarGoogle Scholar
  13. Vladimir Khorikov. 2020. Unit Testing Principles, Practices, and Patterns (1st ed.). Manning Publications.Google ScholarGoogle Scholar
  14. Patrick Lam, Eric Bodden, OndÅŹej LhotÃąk, and Laurie Hendren. 2011. The Soot framework for Java program analysis: a retrospective. https://sable.github.io/soot/resources/lblh11soot.pdfGoogle ScholarGoogle Scholar
  15. Richard Lipka and Tomas Potuzak. 2018. Automated generator for complex and realistic test data - a case study. In FedCSIS.Google ScholarGoogle Scholar
  16. Aditya P. Mathur. 2008. Foundations of Software Testing (1st ed.). Addison-Wesley Professional.Google ScholarGoogle Scholar
  17. Glenford J. Myers, Corey Sandler, and Tom Badgett. 2011. The Art of Software Testing (3rd ed.). Wiley Publishing.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Roy P. Pargas, Mary Jean Harrold, and Robert R. Peck. 1999. Test - Data Generation Using Genetic Algorithms. Journal of Software testing, Verification and Reliability (1999). https://www.cc.gatech.edu/~harrold/6340/cs6340_fall2009/Readings/pga.pdfGoogle ScholarGoogle Scholar
  19. Reese T. Prosser. 1959. Applications of Boolean Matrices to the Analysis of Flow Diagrams. In Papers Presented at the December 1--3, 1959, Eastern Joint IRE-AIEE-ACM Computer Conference (IRE-AIEE-ACM 59 (Eastern)). Association for Computing Machinery, New York, NY, USA, 133---138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. C. Reid. 1997. An empirical analysis of equivalence partitioning, boundary value analysis and random testing. In Proceedings Fourth International Software Metrics Symposium. 64--73.Google ScholarGoogle ScholarCross RefCross Ref
  21. D. A. Spuler, A. S. M Sajeev, David A. Spuler, and A. S. M. Sajeev. 1994. Abstract Compiler Detection of Function Call Side Effects.Google ScholarGoogle Scholar
  22. Niklaus Wirth. 1996. Compiler construction. Addison-Wesley. http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf slightly revised November 2005 version of the book.Google ScholarGoogle Scholar
  23. Xiangjuan Yao and Dunwei Gong. 2014. Genetic Algorithm-Based Test Data Generation for Multiple Paths via Individual Sharing. Computational intelligence and neuroscience (10 2014), 591294. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A method for the automated generating of the code-coverage ensuring input test data based on the control flow analysis

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SAC '21: Proceedings of the 36th Annual ACM Symposium on Applied Computing
      March 2021
      2075 pages
      ISBN:9781450381048
      DOI:10.1145/3412841

      Copyright © 2021 ACM

      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 the author(s) 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].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 22 April 2021

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate1,650of6,669submissions,25%
    • Article Metrics

      • Downloads (Last 12 months)10
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader