Skip to main content

Test Suite Reduction in Idempotence Testing of Infrastructure as Code

  • Conference paper
  • First Online:
Book cover Tests and Proofs (TAP 2017)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10375))

Included in the following conference series:

Abstract

Infrastructure as Code, which uses machine-processable code for managing, provisioning, and configuring computing infrastructure, has been attracting wide attention. In its application, the idempotence of the code is essential: the system should converge to the desired state even if the code is repeatedly executed possibly with failures or interruptions. Previous studies have used testing or static verification techniques to check whether the code is idempotent or not. The testing approach is impractically time-consuming, whereas the static verification approach is not applicable in many practical cases in which external scripts are used. In this paper, we present a method for efficiently checking idempotence by combining the testing and static verification approaches. The method dramatically decreases the number of test cases used to check code including external scripts by applying the static verification approach.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Burgess, M.: Testable system administration. Commun. ACM 54(3), 44–49 (2011)

    Article  Google Scholar 

  2. Caroprese, L., Trubitsyna, I., Truszczynski, M., Zumpano, E.: The view-update problem for indefinite databases (2012). CoRR, abs/1205.4655

    Google Scholar 

  3. Cartaxo, E.G., Machado, P.D.L., Oliveira Neto, F.G.: On the use of a similarity function for test case selection in the context of model-based testing. Softw. Test. Verif. Reliab. 21(2), 75–100 (2011)

    Article  Google Scholar 

  4. Chef Software, Inc.: Chef Embrace DevOps - Chef. https://www.chef.io/

  5. Chef Software, Inc.: Welcome - The Resource for Chef cookbooks - Chef Supermarket. https://supermarket.chef.io/

  6. Chen, T.Y., Lau, M.F.: A simulation study on some heuristics for test suite reduction. Inf. Softw. Technol. 40(13), 777–787 (1998)

    Article  Google Scholar 

  7. Collard, J.M., Gupta, N., Shambaugh, R., Weiss, A., Guha, A.: On static verification of puppet system configurations (2015). CoRR, abs/1509.05100

    Google Scholar 

  8. Couch, A., Sun, Y.: On the algebraic structure of convergence. In: Brunner, M., Keller, A. (eds.) DSOM 2003. LNCS, vol. 2867, pp. 28–40. Springer, Heidelberg (2003). doi:10.1007/978-3-540-39671-0_4

    Chapter  Google Scholar 

  9. de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). doi:10.1007/978-3-540-78800-3_24

    Chapter  Google Scholar 

  10. Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bidirectional tree transformations: a linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. (TOPLAS) 29(3), 17 (2007)

    Article  Google Scholar 

  11. Heavy Water Operations, LLC (OR): Welcome to Test Kitchen - KitchenCI. http://kitchen.ci/

  12. Hummer, W., Rosenberg, F., Oliveira, F., Eilam, T.: Testing idempotence for infrastructure as code. In: Eyers, D., Schwan, K. (eds.) Middleware 2013. LNCS, vol. 8275, pp. 368–388. Springer, Heidelberg (2013). doi:10.1007/978-3-642-45065-5_19

    Chapter  Google Scholar 

  13. Kolokoltsov, V., Maslov, V.P.: Idempotent Analysis and Its Applications. Mathematics and Its Applications. Springer, Netherlands (1997)

    Book  MATH  Google Scholar 

  14. Lin, J.-W., Huang, C.-Y.: Analysis of test suite reduction with enhanced tie-breaking techniques. Inf. Softw. Technol. 51(4), 679–690 (2009)

    Article  Google Scholar 

  15. Nelson-Smith, S.: Test-Driven Infrastructure with Chef: Bring Behavior-Driven Development to Infrastructure as Code. O’Reilly Media Inc., Sebastopol (2013)

    Google Scholar 

  16. Puppet: Puppet - the shortest path to better software. https://puppet.com/

  17. Red Hat, Inc.: Ansible is Simple IT Automation. https://www.ansible.com/

  18. Vaysburg, B., Tahat, L.H., Korel, B.: Dependence analysis in reduction of requirement based test suites. In: Proceedings of the 2002 ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2002, pp. 107–111. ACM, New York (2002)

    Google Scholar 

  19. Wittig, A., Wittig, M.: Amazon Web Services in Action, 1st edn. Manning Publications Co., Greenwich (2015)

    MATH  Google Scholar 

  20. Zhong, H., Zhang, L., Mei, H.: An experimental study of four typical test suite reduction techniques. Inf. Softw. Technol. 50(6), 534–546 (2008)

    Article  Google Scholar 

Download references

Acknowledgment

This work was partially supported by ERATO HASUO Metamathematics for Systems Design Project (No. JPMJER1603), Japan Science and Technology Agency (JST).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fuyuki Ishikawa .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Ikeshita, K., Ishikawa, F., Honiden, S. (2017). Test Suite Reduction in Idempotence Testing of Infrastructure as Code. In: Gabmeyer, S., Johnsen, E. (eds) Tests and Proofs. TAP 2017. Lecture Notes in Computer Science(), vol 10375. Springer, Cham. https://doi.org/10.1007/978-3-319-61467-0_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-61467-0_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-61466-3

  • Online ISBN: 978-3-319-61467-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics