skip to main content
10.1145/1807128.1807153acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

Automated software testing as a service

Published:10 June 2010Publication History

ABSTRACT

This paper makes the case for TaaS--automated software testing as a cloud-based service. We present three kinds of TaaS: a "programmer's sidekick" enabling developers to thoroughly and promptly test their code with minimal upfront resource investment; a "home edition" on-demand testing service for consumers to verify the software they are about to install on their PC or mobile device; and a public "certification service," akin to Underwriters Labs, that independently assesses the reliability, safety, and security of software.

TaaS automatically tests software, without human involvement from the service user's or provider's side. This is unlike today's "testing as a service" businesses, which employ humans to write tests. Our goal is to take recently proposed techniques for automated testing--even if usable only on to y programs--and make them practical by modifying them to harness the resources of compute clouds. Preliminary work suggests it is technically feasible to do so, and we find that TaaS is also compelling from a social and business point of view.

References

  1. C. Cadar, D. Dunbar, and D. R. Engler. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs. In Symp. on Operating Systems Design and Implementation, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. Cadar, V. Ganesh, P. M. Pawlowski, D. L. Dill, and D. R. Engler. EXE: Automatically generating inputs of death. In Conf. on Computer and Communication Security, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. Ciortea, C. Zamfir, S. Bucur, V. Chipounov, and G. Candea. Cloud9: A software testing service. In Workshop on Large Scale Distributed Systems and Middleware, 2009.Google ScholarGoogle Scholar
  4. P. Godefroid, N. Klarlund, and K. Sen. DART: Directed automated random testing. In Conf. on Programming Language Design and Implementation, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. Godefroid, M. Y. Levin, and D. Molnar. Automated whitebox fuzz testing. Technical Report MSR-TR-2007-58, Microsoft Research, 2007.Google ScholarGoogle Scholar
  6. P. Godefroid, M. Y. Levin, and D. Molnar. Automated Whitebox Fuzz Testing. In Network and Distributed System Security Symp., 2008.Google ScholarGoogle Scholar
  7. Google Knol. http://knol.google.com.Google ScholarGoogle Scholar
  8. P. J. Guo and D. Engler. Linux kernel developer responses to static analysis bug reports. In USENIX Annual Technical Conf., 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. G. J. Holzmann and D. Bosnacki. Multi-core model checking with SPIN. In Intl. Parallel and Distributed Processing Symp., 2007.Google ScholarGoogle ScholarCross RefCross Ref
  10. J. C. King. Symbolic execution and program testing. Communications of the ACM, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. V. Kuznetsov, V. Chipounov, and G. Candea. Testing closed-source binary device drivers with DDT. In USENIX Annual Technical Conf., 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. R. Majumdar and K. Sen. Hybrid concolic testing. In Intl. Conf. on Software Engineering, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. McConnell. Code Complete. Microsoft Press, 2004.Google ScholarGoogle Scholar
  14. Microsoft. Driver verifier. http://www.microsoft.com/whdc/DevTools/tools, 2009.Google ScholarGoogle Scholar
  15. S. Misailovic, A. Milicevic, N. Petrovic, S. Khurshid, and D. Marinov. Parallel test generation and execution with Korat. In Symp. on the Foundations of Software Eng., 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Redhat security. http://www.redhat.com/security/updates/classification, 2005.Google ScholarGoogle Scholar
  17. D. Saff and M. D. Ernst. Reducing wasted development time via continuous testing. In Intl. Symp. on Software Reliability Engineering, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. C. Zamfir and G. Candea. Execution synthesis: A technique for automated debugging. In EUROSYS Conf., 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Automated software testing as a service

    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
      SoCC '10: Proceedings of the 1st ACM symposium on Cloud computing
      June 2010
      264 pages
      ISBN:9781450300360
      DOI:10.1145/1807128

      Copyright © 2010 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 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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 10 June 2010

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate169of722submissions,23%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader