skip to main content
research-article
Open Access

Language-Based Software Testing

Published:20 March 2024Publication History
Skip Abstract Section

Abstract

Constraints over grammar elements can make test generation easier than ever.

References

  1. Aschermann, C. et al. NAUTILUS: Fishing for deep bugs with grammars. In Proceedings of 2019 Network and Distributed System Security Symp.; https://bit.ly/3uRisTxGoogle ScholarGoogle Scholar
  2. Barr, E.T. et al. The oracle problem in software testing: A survey. IEEE Trans Softw Eng. 41, 5 (2014), 507--525 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Böhme, M., Pham, V.T., and Roychoudhury, A. Coverage-based greybox fuzzing as Markov Chain. In Proceedings of the ACM SIGSAC Conf. Computer and Communications Security (Vienna, Austria, 2016). ACM, New York, NY, USA, 1032--1043 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Booch, G. The Unified Modeling Language User Guide. Addison Wesley, 2005.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Briand, L.C. and Labiche, Y. A UML-based approach to system testing. Intern. Conf. on the Unified Modeling Language, Modeling Languages, Concepts, and Tools. Springer, 2001, 194--208 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Claessen, K. and Hughes, J. QuickCheck: A lightweight tool for random testing of Haskell programs. In Proceedings of the 5th ACM SIGPLAN Intern. Conf. Functional Programming. ACM, New York, NY, USA, 2000, 268--279 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Durumeric, Z. et al. The matter of Heartbleed. In Proceedings of the 2014 Conf. Internet Measurement. (Vancouver, BC, Canada). ACM, New York, NY, USA, 475--488 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Eberlein, M. et al. Semantic debugging. In Proceedings of the 31st ACM Joint European Softw. Eng. Conf. and Symp. Foundations of Softw. Eng. (San Francisco, CA, USA, 2023), K. Blincoe and P. Tonella, eds. ACM, New York, NY; preprint https://publications.cispa.saarland/3988/Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ernst, M.D. et al. Dynamically discovering likely program invariants to support program evolution. IEEE Trans. Softw. Eng. 27, 2 (Feb. 2001), 99--123 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Godefroid, P., Kiezun, A., and Levin, M.Y. Grammar-based whitebox fuzzing. In Proceedings of ACM SIGPLAN Conf. on Programming Language Design and Implementation (Tucson, AZ, USA, 2008). ACM, 206--215 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Gopinath, R., Mathis, B., and Zeller, A. Mining input grammars from dynamic control flow. In Proceedings of the 2020 Joint Meeting of the European Softw. Eng. Conf. and the ACM SIGSOFT Symp. Foundations of Softw. Eng.; https://publications.cispa.saarland/3101/Google ScholarGoogle Scholar
  12. Holler, C., Herzig, K., and Zeller, A. Fuzzing with code fragments. In Proceedings of the 2012 USENIX Security Symp. USENIX Assoc., Bellevue, WA, 38--38; https://bit.ly/41oj8MvGoogle ScholarGoogle Scholar
  13. Höschele, M. and Zeller, A. Mining input grammars from dynamic taints. In Proceedings of the IEEE/ACM Intern. Conf. Automated Softw. Eng. (Singapore, 2016), 720--725 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Hunter, T. and de Vynck, G. "most serious security breach ever" is unfolding right now. WSJ (Dec. 20, 2021); https://www.washingtonpost.com/technology/2021/12/20/log4j-hack-vulnerability-java/Google ScholarGoogle Scholar
  15. Jones, B., Harman, M., and Danicic, S. Automated Construction of Input and Output Grammars. Technical Report. University of North London, 1999; https://bit.ly/3TqEcQv.Google ScholarGoogle Scholar
  16. Kent, S. Model driven engineering. In Proceedings of the 2002 Intern. Conf. Integrated Formal Methods. Springer, 286--298 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. LibFuzzer; https://llvm.org/docs/LibFuzzer.html.Google ScholarGoogle Scholar
  18. Mathis, B. et al. Parser-directed fuzzing. In Proceedings of the ACM SIGPLAN Conf. Programming Language Design and Implementation (Phoenix, AZ, USA, 2019). ACM, 548--560 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. McMinn, P. Search-based software testing: Past, present and future. In Proceedings of the IEEE 2011 4th Intern. Conf. Softw. Testing, Verification and Validation Workshops. IEEE, 153--163.Google ScholarGoogle Scholar
  20. Miller, B.P., Fredriksen, L., and So, B. An empirical study of the reliability of UNIX utilities. Commun. ACM 33, 12 (Dec. 1990), 32--44 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Mussa, M., Ouchani, S., Al Sammane, W., and Hamou-Lhadj, A. A survey of model-driven testing techniques. In Proceedings of the 2009 9th Intern. Conf. Quality Softw., 167--172 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Perlis, A.J. Epigrams on programming. ACM SIGPLAN Notices 17, 9 (1982), 7--13 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Pham, V.-T. et al. Smart greybox fuzzing. IEEE Trans. Softw. Eng. 47, 9 (2019), 1980--1997 Google ScholarGoogle ScholarCross RefCross Ref
  24. Rosenblum, D.S. A practical approach to programming with assertions. IEEE Trans. Softw. Eng. 21, 1 (1995), 19--31 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Steinhöfel, D. and Zeller, A. Input invariants. In Proceedings of the 30th ACM Joint European Softw. Engineering Conf. and Symp. the Foundations of Softw. Eng. (Singapore, 2022). ACM, New York, NY, USA, 2022, 583--594 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Williams, M., Tüxen, M., and Robin Seggelmann, R. Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Heartbeat Extension. RFC 6520 IETF, 2012; https://datatracker.ietf.org/doc/rfc6520/.Google ScholarGoogle Scholar
  27. Załewski, M. American fuzzy lop; https://lcamtuf.coredump.cx/afl/Google ScholarGoogle Scholar
  28. Zeller, A. and Hildebrandt, R. Simplifying and isolating failure-inducing input. IEEE Trans. Softw. Eng. 28, 2 (Feb. 2002), 183--200 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Language-Based Software 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

            Full Access

            • Published in

              cover image Communications of the ACM
              Communications of the ACM  Volume 67, Issue 4
              April 2024
              89 pages
              ISSN:0001-0782
              EISSN:1557-7317
              DOI:10.1145/3654642
              • Editor:
              • James Larus
              Issue’s Table of Contents

              Copyright © 2024 Owner/Author

              This work is licensed under a Creative Commons Attribution International 4.0 License.

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 25 March 2024
              • Online First: 20 March 2024

              Check for updates

              Qualifiers

              • research-article
            • Article Metrics

              • Downloads (Last 12 months)1,787
              • Downloads (Last 6 weeks)1,157

              Other Metrics

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader

            HTML Format

            View this article in HTML Format .

            View HTML Format