Automatic Test Generation for Coverage Analysis Using CBMC

  • Damiano Angeletti
  • Enrico Giunchiglia
  • Massimo Narizzano
  • Alessandra Puddu
  • Salvatore Sabina
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5717)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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–176Google Scholar
  2. 2.
    ERTMS: The official Website, http://www.ertms.com/
  3. 3.
    Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., Zhu, Y.: Bounded Model Checking. Advances inComputers 58Google Scholar
  4. 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–535Google Scholar
  5. 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–490Google Scholar
  6. 6.
    European Committee forElectrotechnical Standardization. Railway Applications -Communication, signalling and processing systems - Software forrailway control and protection systems, http://www.cenelec.eu
  7. 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–223Google Scholar
  8. 8.
    Een, N., Sorensson, N.: An ExtensibleSAT-solver. In: Satisfiability Workshop, pp. 502–518Google Scholar
  9. 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–261Google Scholar
  10. 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–224Google Scholar
  11. 11.
    Khurshid, S., Marinov, D.: TestEra: Specification-based testing of java programs using sat. Automated Software Engg., 403–434Google Scholar
  12. 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)CrossRefGoogle Scholar
  13. 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)CrossRefGoogle Scholar
  14. 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. 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–73Google Scholar
  16. 16.
    Vedula, V.M.: Hdl Slicing for Verification and Test, available electronically from http://hdl.handle.net/2152/1033

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Damiano Angeletti
    • 1
    • 2
  • Enrico Giunchiglia
    • 1
    • 2
  • Massimo Narizzano
    • 1
    • 2
  • Alessandra Puddu
    • 1
    • 2
  • Salvatore Sabina
    • 1
    • 2
  1. 1.DISTUniversity of GenovaGenovaItaly
  2. 2.Ansaldo STSGenovaItaly

Personalised recommendations