skip to main content
10.1145/3092703.3092711acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections

Targeted property-based testing

Published:10 July 2017Publication History

ABSTRACT

We introduce targeted property-based testing, an enhanced form of property-based testing that aims to make the input generation component of a property-based testing tool guided by a search strategy rather than being completely random. Thus, this testing technique combines the advantages of both search-based and property-based testing. We demonstrate the technique with the framework we have built, called Target, and show its effectiveness on three case studies. The first of them demonstrates how Target can employ simulated annealing to generate sensor network topologies that form configurations with high energy consumption. The second case study shows how the generation of routing trees for a wireless network equipped with directional antennas can be guided to fulfill different energy metrics. The third case study employs Target to test the noninterference property of information-flow control abstract machine designs, and compares it with a sophisticated hand-written generator for programs of these abstract machines.

Skip Supplemental Material Section

Supplemental Material

References

  1. Wasif Afzal, Richard Torkar, and Robert Feldt. 2009. A systematic review of searchbased testing for non-functional system properties. Information and Software Technology 51, 6 (2009), 957–976. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Ian F. Akyildiz, Weilian Su, Yogesh Sankarasubramaniam, and Erdai Cayirci. 2002. Wireless sensor networks: a survey. Computer Networks 38, 4 (2002), 393–422. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Andrea Arcuri and Lionel Briand. 2011. Adaptive Random Testing: An Illusion of Effectiveness?. In Proceedings of the 2011 International Symposium on Software Testing and Analysis. ACM, New York, NY, USA, 265–275. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Thomas Arts, John Hughes, Joakim Johansson, and Ulf Wiger. 2006. Testing Telecoms Software with Quviq QuickCheck. In Proceedings of the 2006 ACM SIGPLAN Workshop on Erlang. ACM, New York, NY, USA, 2–10. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Dimitris Bertsimas and Omid Nohadani. 2010. Robust Optimization with Simulated Annealing. J. of Global Optimization 48, 2 (Oct. 2010), 323–334. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Kwok Ping Chan, Tsong Yueh Chen, and Dave Towey. 2002. Restricted Random Testing. In Proceedings of the 7th European Conference on Software Quality. Springer, Berlin, Heidelberg, 321–330. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Tsong Yueh Chen, F.-C. Kuo, Robert G. Merkel, and S. P. Ng. 2004. Mirror adaptive random testing. Information and Software Technology 46, 15 (2004), 1001–1010.Google ScholarGoogle ScholarCross RefCross Ref
  8. https://Google ScholarGoogle Scholar
  9. Tsong Yueh Chen, Fei-Ching Kuo, Robert G. Merkel, and T. H. Tse. 2010. Adaptive Random Testing: The ART of Test Case Diversity. J. Syst. Softw. 83, 1 (Jan. 2010), 60–66. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Tsong Yueh Chen, Hing Leung, and I. K. Mak. 2005. Adaptive Random Testing. In Proceedings of the 9th Asian Computing Science Conference, Michael J. Maher (Ed.). Springer, Berlin, Heidelberg, 320–329. https://Google ScholarGoogle Scholar
  11. Tsong Yueh Chen and Robert Merkel. 2007. Quasi-Random Testing. IEEE Transactions on Reliability 56, 3 (Sept. 2007), 562–568. https://Google ScholarGoogle ScholarCross RefCross Ref
  12. 903293Google ScholarGoogle Scholar
  13. Koen Claessen and John Hughes. 2000. QuickCheck: a Lightweight Tool for Random Testing of Haskell Programs. In Proceedings of the 5th ACM SIGPLAN International Conference on Functional Programming. ACM, New York, NY, USA, 268–279. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Gordon Fraser and Andrea Arcuri. 2011. Evolutionary Generation of Whole Test Suites. In Proceedings of the 11th International Conference on Quality Software (QSIC ’11). IEEE Computer Society, Washington, DC, USA, 31–40. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Milos Gligoric, Tihomir Gvero, Vilas Jagannath, Sarfraz Khurshid, Viktor Kuncak, and Darko Marinov. 2010. Test Generation Through Programming in UDITA. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering (ICSE ’10). ACM, New York, NY, USA, 225–234. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Mark Harman, S. Afshin Mansouri, and Yuanyuan Zhang. 2012. Search-based Software Engineering: Trends, Techniques and Applications. ACM Comput. Surv. 45, 1, Article 11 (Dec. 2012), 61 pages. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Cătălin Hriţcu, Leonidas Lampropoulos, Antal Spector-Zabusky, Arthur Azevedo De Amorim, Maxime Dénès, John Hughes, Benjamin C. Pierce, and Dimitrios Vytiniotis. 2016. Testing Noninterference, Quickly. Journal of Functional Programming 26 (2016), e4. https://Google ScholarGoogle ScholarCross RefCross Ref
  18. Leonidas Lampropoulos, Benjamin C. Pierce, Cătălin Hriţcu, John Hughes, Zoe Paraskevopoulou, and Li-yao Xia. 2017.Google ScholarGoogle Scholar
  19. Beginner’s Luck: A Language for Property-based Generators. In Proceedings of the 44th Annual ACM SIGPLANSIGACT Symposium on Principles of Programming Languages (POPL 2017). ACM, New York, NY, USA, 114–129. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Leonidas Lampropoulos and Konstantinos Sagonas. 2012. Automatic WSDLguided Test Case Generation for PropEr Testing of Web Services. In Proceedings 8th International Workshop on Automated Specification and Verification of Web Systems. 3–16. https://Google ScholarGoogle Scholar
  21. Andreas Löscher, Konstantinos Sagonas, and Thiemo Voigt. 2015. Property-based Testing of Sensor Networks. In Sensing, Communication, and Networking, 12th Annual IEEE International Conference on. IEEE, 100–108. https://Google ScholarGoogle Scholar
  22. Johannes Mayer. 2005. Lattice-based Adaptive Random Testing. In Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE ’05). ACM, New York, NY, USA, 333–336. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 1101963Google ScholarGoogle Scholar
  24. Phil McMinn. 2004. Search-based Software Test Data Generation: A Survey. Softw. Test. Verif. Reliab. 14, 2 (June 2004), 105–156. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Webb Miller and David L. Spooner. 1976. Automatic Generation of Floating-Point Test Data. IEEE Transactions on Software Engineering SE-2, 3 (Sept. 1976), 223–226. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Alexander G. Nikolaev and Sheldon H. Jacobson. 2010. Simulated annealing. In Handbook of Metaheuristics. Springer, 1–39.Google ScholarGoogle Scholar
  27. Martin Nilsson. 2009. Directional antennas for wireless sensor networks. In Proc. 9th Scandinavian Workshop on Wireless Adhoc Networks (Adhoc’09).Google ScholarGoogle Scholar
  28. Alessandro Orso and Gregg Rothermel. 2014. Software Testing: A Research Travelogue (2000–2014). In Proceedings of the Future of Software Engineering. ACM, New York, NY, USA, 117–132. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Erik Öström, Luca Mottola, Martin Nilsson, and Thiemo Voigt. 2010. Smart Antennas Made Practical: The SPIDA Way. In Proceedings of the 9th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN ’10). ACM, New York, NY, USA, 438–439. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Manolis Papadakis and Konstantinos Sagonas. 2011. A PropEr Integration of Types and Function Specifications with Property-based Testing. In Proceedings of the 10th ACM SIGPLAN Workshop on Erlang. ACM, New York, NY, USA, 39–50. https:// Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. QuickCheck 2016. QuickCheck. (2016).Google ScholarGoogle Scholar
  32. https://en.wikipedia.org/wiki/ QuickCheckGoogle ScholarGoogle Scholar

Index Terms

  1. Targeted property-based testing

      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
        ISSTA 2017: Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis
        July 2017
        447 pages
        ISBN:9781450350761
        DOI:10.1145/3092703
        • General Chair:
        • Tevfik Bultan,
        • Program Chair:
        • Koushik Sen

        Copyright © 2017 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: 10 July 2017

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate58of213submissions,27%

        Upcoming Conference

        ISSTA '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader