Skip to main content

Automatic Test Generation for Coverage Analysis Using CBMC

  • Conference paper
Computer Aided Systems Theory - EUROCAST 2009 (EUROCAST 2009)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5717))

Included in the following conference series:

Abstract

Testing is the most used technique for software verification: it is easy to use and even if no error is found, it can release a set of tests certifying the (partial) correctness of the compiled system. Moreover, in order to increase the confidence of the correctness of the compiled system, it is often required that the provided set of tests covers 100% of the code. This requirement, however, substantially increases the costs associated to the testing phase, since it may involve the manual generation of tests. In this paper we show how to use a Bounded Model Checker for C programs (CBMC) as an automatic test generator for the Coverage Analysis, and we show how its use can substantially reduce the costs of the testing phase.

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 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Clarke, E., Kroening, D., Lerda, F.: A Tool for Checking ANSI-C Program. In: Tools and Algorithms for the Construction and Analysis of Systems, pp. 168–176

    Google Scholar 

  2. ERTMS: The official Website, http://www.ertms.com/

  3. Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., Zhu, Y.: Bounded Model Checking. Advances inComputers 58

    Google Scholar 

  4. Moskewicz, W.M., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff:Engineering an Efficient SAT Solver. In: Proceedings of the 38th Design Automation Conference, pp. 530–535

    Google Scholar 

  5. Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: EfficientlyComputing Static Single Assignment Form and the Control DependenceGraph. ACM Transactions on Programming Languages and Systems 13(4), 451–490

    Google Scholar 

  6. European Committee forElectrotechnical Standardization. Railway Applications -Communication, signalling and processing systems - Software forrailway control and protection systems, http://www.cenelec.eu

  7. Godefroid, P., Klarlund, N., Sen, K.: DART: Directed automated random testing. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 213–223

    Google Scholar 

  8. Een, N., Sorensson, N.: An ExtensibleSAT-solver. In: Satisfiability Workshop, pp. 502–518

    Google Scholar 

  9. Tillmann, N., Schulte, W.: Parameterized unit tests. In: Proceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT international Symposium on Foundations of Software Engineering, pp. 253–261

    Google Scholar 

  10. Cadar, C., Dunbar, D., Engler, D.R.: KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs. In: OSDI, pp. 209–224

    Google Scholar 

  11. Khurshid, S., Marinov, D.: TestEra: Specification-based testing of java programs using sat. Automated Software Engg., 403–434

    Google Scholar 

  12. Chockler, H., Kupferman, O., Kurshan, R.P., Vardi, M.Y.: A Practical Approach to Coverage in Model Checking. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 66–78. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  13. Tillmann, N., de Halleux, J.: Pex White Box Test Generation for.NET. In: Beckert, B., Hähnle, R. (eds.) TAP 2008. LNCS, vol. 4966, pp. 134–153. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  14. de Halleux, J., Tillmann, N.: Parameterized unit testing with pex. Tests and Proofs, 171–181 (2008), http://dx.doi.org/10.1007/978-3-540-79124-9_12

  15. Jackson, D., Shlyakhter, I., Sridharan, M.: A micromodularity mechanism. In: Proceedings of the 8th European Software Engineering Conference Held Jointly with 9th ACM SIGSOFT international Symposium on Foundations of Software Engineering, pp. 62–73

    Google Scholar 

  16. Vedula, V.M.: Hdl Slicing for Verification and Test, available electronically from http://hdl.handle.net/2152/1033

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Angeletti, D., Giunchiglia, E., Narizzano, M., Puddu, A., Sabina, S. (2009). Automatic Test Generation for Coverage Analysis Using CBMC. In: Moreno-Díaz, R., Pichler, F., Quesada-Arencibia, A. (eds) Computer Aided Systems Theory - EUROCAST 2009. EUROCAST 2009. Lecture Notes in Computer Science, vol 5717. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04772-5_38

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-04772-5_38

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-04771-8

  • Online ISBN: 978-3-642-04772-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics