Skip to main content

State Coverage: An Empirical Analysis Based on a User Study

  • Conference paper
SOFSEM 2013: Theory and Practice of Computer Science (SOFSEM 2013)

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

  • 1089 Accesses

Abstract

State coverage is a relatively new metric to evaluate the quality of test suites. While most existing test adequacy criteria measure the degree of exploration of the code under test, state coverage estimates the strength of the assertions in the test suite. Initial experiments have shown that there is a correlation between state coverage and mutation adequacy, and that expert users can discover new faults by modifying the test suite to increase state coverage. Since the faults injected by mutation testing are relatively simple, it is not clear whether these experiment are valid in a broader setting. Furthermore, these results may not be reproducible by average users, since they usually lack full understanding of the internals of the tool.

This paper presents a user-based experiment to evaluate whether the state coverage of a test suite correlates with the number defects it discovers. While the results of the experiments fail to confirm this hypothesis, they do raises important questions. First, test suites with high state coverage should be good in finding logical software faults, but these faults occur less frequently than structural faults. Second, state coverage is not monotonic in the size of the test suite. Therefore, adding new test cases which check new properties and detect new faults can often reduce state coverage. Based on this, we suggest a number of improvements.

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 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Basili, V., Selby, R.: Comparing the effectiveness of software testing strategies. IEEE Transactions on Software Engineering SE-13(12), 1278–1296 (1987)

    Article  Google Scholar 

  2. Cai, X., Lyu, M.R.: The effect of code coverage on fault detection under different testing profiles. In: Proceedings of the 1st International Workshop on Advances in Model-Based Testing, A-MOST 2005, pp. 1–7. ACM, New York (2005)

    Chapter  Google Scholar 

  3. DeMillo, R.A., Lipton, R.J., Sayward, F.G.: Hints on test data selection: Help for the practicing programmer. Computer 11(4), 34–41 (1978)

    Article  Google Scholar 

  4. Hutchins, M., Foster, H., Goradia, T., Ostrand, T.: Experiments of the effectiveness of dataflow- and controlflow-based test adequacy criteria. In: Proceedings of the 16th International Conference on Software Engineering, ICSE 1994, pp. 191–200. IEEE Computer Society Press, Los Alamitos (1994)

    Chapter  Google Scholar 

  5. Jia, Y., Harman, M.: An analysis and survey of the development of mutation testing. IEEE Transactions on Software Engineering 37(5), 649–678 (2011)

    Article  Google Scholar 

  6. Eclemma: Java code coverage for eclipse, http://www.eclemma.org

  7. Koster, K., Kao, D.: State coverage: a structural test adequacy criterion for behavior checking. In: The 6th Joint Meeting on European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering: Companion Papers, ESEC-FSE Companion 2007, pp. 541–544. ACM, New York (2007)

    Chapter  Google Scholar 

  8. Li, Z., Tan, L., Wang, X., Lu, S., Zhou, Y., Zhai, C.: Have things changed now? An empirical study of bug characteristics in modern open source software. In: Proceedings of the 1st Workshop on Architectural and System Support for Improving Software Dependability, ASID 2006, pp. 25–33. ACM, New York (2006)

    Chapter  Google Scholar 

  9. Lyu, M.R., Huang, Z., Sze, S.K.S., Cai, X.: An empirical study on testing and fault tolerance for software reliability engineering. In: Proceedings of the 14th International Symposium on Software Reliability Engineering, ISSRE 2003, pp. 119–130. IEEE Computer Society, Washington, DC (2003)

    Chapter  Google Scholar 

  10. Mockus, A., Nagappan, N., Dinh-Trong, T.T.: Test coverage and post-verification defects: A multiple case study. In: Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement, ESEM 2009, pp. 291–301. IEEE Computer Society, Washington, DC (2009)

    Chapter  Google Scholar 

  11. Vanoverberghe, D., de Halleux, J., Tillmann, N., Piessens, F.: State Coverage: Software Validation Metrics beyond Code Coverage. In: Bieliková, M., Friedrich, G., Gottlob, G., Katzenbeisser, S., Turán, G. (eds.) SOFSEM 2012. LNCS, vol. 7147, pp. 542–553. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  12. Wong, W., Horgan, J., London, S., Mathur, A.: Effect of test set size and block coverage on the fault detection effectiveness. In: Proceedings of the 5th International Symposium on Software Reliability Engineering, pp. 230–238 (1994)

    Google Scholar 

  13. Zhu, H., Hall, P.A.V., May, J.H.R.: Software unit test coverage and adequacy. ACM Comput. Surv. 29, 366–427 (1997)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Vanoverberghe, D., Eyckmans, E., Piessens, F. (2013). State Coverage: An Empirical Analysis Based on a User Study. In: van Emde Boas, P., Groen, F.C.A., Italiano, G.F., Nawrocki, J., Sack, H. (eds) SOFSEM 2013: Theory and Practice of Computer Science. SOFSEM 2013. Lecture Notes in Computer Science, vol 7741. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35843-2_40

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35843-2_40

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35842-5

  • Online ISBN: 978-3-642-35843-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics