Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Comparing logic coverage criteria on test case prioritization

  • Research Paper
  • Progress of Projects Supported by NSFC
  • Published:
Science China Information Sciences Aims and scope Submit manuscript

Abstract

Logic coverage criteria have been widely used in the testing of safety-critical software. In the past few years, fault-based logic coverage criteria have been studied intensively both in theory and in practice. However, there is a lack of authentic evidence of the comparison of fault-based logic coverage criteria with other logic coverage criteria, such as branch coverage and modified condition/decision coverage (MC/DC). In this paper, we present a comprehensive empirical study that compares these logic coverage criteria on test case prioritization, which is currently a hot topic in software testing. Several useful conclusions are drawn from our research: (1) Fine-grained coverage criteria are always more effective and efficient. (2) The effectiveness of fault-based logic coverage criteria is not significantly different from that of MC/DC in terms of statistics, but the former is more stable. (3) A random strategy is more effective than branch coverage if a certain number of test cases are redundant.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Weyuker E, Goradia T, Singh A. Automatically generating test data from a Boolean specification. IEEE Trans Softw Eng, 1994, 20: 353–363

    Article  MATH  Google Scholar 

  2. Chen T Y, Lau M F, Yu Y T. Mumcut: A fault-based strategy for testing Boolean specifications. In: Proceedings of the Sixth Asia Pacific Software Engineering Conference (APSEC’99), Takamatsu, 1999. 606–613

  3. Kaminski G, Williams G, Ammann P. Reconciling perspectives of software logic testing. Softw Test Verif Reliab, 2008, 18: 149–188

    Article  Google Scholar 

  4. Chen Z, Chen T Y, Xu B. A revisit of fault class hierarchies in general Boolean specifications. ACM Trans Softw Eng Methodol, 2011, 20: 13

    Google Scholar 

  5. Cornett S. Code coverage analysis. Bullseye Testing Technology. http://www.bullseye.com/coverage.html

  6. Chilenski J J, Miller S. Applicability of modified condition/decision coverage to software testing. Softw Eng J, 1994, 9: 193–200

    Article  Google Scholar 

  7. Yu Y T, Lau M F. A comparison of MC/DC, MUMCUT and several other coverage criteria for logical decisions. J Syst Softw, 2006, 79: 577–590

    Article  Google Scholar 

  8. Ammann P, Offutt J, Huang H. Coverage criteria for logical expressions. In: Proceedings of the 14th International Symposium on Software Reliability Engineering (ISSRE’03). Washington DC: IEEE, 2003. 99–107

    Chapter  Google Scholar 

  9. RCTA. Do-178B: Software considerations in airborne systems and equipment certification. http://www.dcs.gla.ac.uk/~johnson/teaching/safety/reports/schad.html

  10. Lau M F, Yu Y T. An extended fault class hierarchy for specification-based testing. ACM Trans Softw Eng Methodol, 2005, 14: 247–276

    Article  Google Scholar 

  11. Kuhn D R. Fault classes and error detection capability of specification-based testing. ACM Trans Softw Eng Methodol, 1999, 8: 411–424

    Article  Google Scholar 

  12. Yu Y T, Lau M F. Comparing several coverage criteria for detecting faults in logical decisions. In: Proceedings of the 4th International Conference on Quality Software (QSIC’04), Braunschweig, 2004. 14–21

  13. Chen T Y, Lau M F. Test case selection strategies based on Boolean specifications. Softw Test Verif Reliab, 2001, 11: 165–180

    Article  Google Scholar 

  14. Foster K A. Sensitive test data for logic expressions. ACM SIGSOFT Softw Eng Notes, 1984, 9: 120–125

    Article  Google Scholar 

  15. Daran M, Thévenod-Fosse P. Software error analysis: a real case study involving real faults and mutations. ACM SIGSOFT Softw Eng Notes, 1996, 21: 158–171

    Article  Google Scholar 

  16. Elbaum S, Malishevsky A G, Rothermel G. Test case prioritization: A family of empirical studies. IEEE Trans Softw Eng, 2002, 28: 159–182

    Article  Google Scholar 

  17. Wong W E, Horgan J R, London S, et al. A study of effective regression testing in practice. In: Proceedings of the 8th International Symposium On Software Reliability Engineering (ISSRE’97), Albuquerque, 1997. 264–274

  18. Jones J A, Harrold M J. Test-suite reduction and prioritization for modified condition/decision coverage. IEEE Trans Softw Eng, 2003, 29: 195–209

    Article  Google Scholar 

  19. Chen Z, Xu B, Ding D. The complexity results of variable minimal formulas. Chin Sci Bull, 2010, 55: 1957–1960

    Article  MATH  Google Scholar 

  20. Kapoor K, Bowen J. Experimental evaluation of the variation in effectiveness for DC, FPC and MC/DC test criteria. In: Proceedings of the 2nd International Symposium on Empirical Software Engineering (ISESE’03), Rome, 2003. 185–194

  21. Singh R K, Chandra P, Singh Y. An evaluation of Boolean expression testing techniques. ACM SIGSOFT Softw Eng Notes, 2006, 31: 1–6

    Article  Google Scholar 

  22. Gupta A, Jalote P. An approach for experimentally evaluating effectiveness and efficiency of coverage criteria for software testing. Int Int J Softw Tools Technol Transf, 2008, 10: 145–160

    Article  Google Scholar 

  23. Rothermel G, Untch R H, Chu C, et al. Test case prioritization: An empirical study. In: Proceedings of the 7th IEEE International Conference on Software Maintenance (ICSM’99), Oxford, 1999. 179–188

  24. Wang Z, Chen Z, Chen T Y, et al. Fault class prioritization in Boolean expressions. In: Proceedings of the 27th Annual ACM Symposium on Applied Computing (SAC’12). New York: ACM, 2012. 1191–1196

    Chapter  Google Scholar 

  25. Rothermel G, Untch R H, Chu C, et al. Prioritizing test cases for regression testing. IEEE Trans Softw Eng, 2001, 27: 929–948

    Article  Google Scholar 

  26. Li Z, Harman M, Hierons R M. Search algorithms for regression test case prioritization. IEEE Trans Softw Eng, 2007, 33: 225–237

    Article  Google Scholar 

  27. Strecker J, Memon A M. Accounting for defect characteristics in evaluations of testing techniques. ACM Trans Softw Eng Methodol, 2012, 21: 17

    Article  Google Scholar 

  28. Team C. CodeCover homepage. http://codecover.org/

  29. Arcuri A, Briand L. A practical guide for using statistical tests to assess randomized algorithms in software engineering. In: Proceedings of the 33rd International Conference on Software Engineering (ICSE’11), Honolulu, 2011. 1–10

  30. Staats M, Whalen M W, Heimdahl M P E. Programs, tests, and oracles: the foundations of testing revisited. In: Proceedings of the 33rd International Conference on Software Engineering (ICSE’11). New York: ACM, 2011. 391–400

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to ZhenYu Chen.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Fang, C., Chen, Z. & Xu, B. Comparing logic coverage criteria on test case prioritization. Sci. China Inf. Sci. 55, 2826–2840 (2012). https://doi.org/10.1007/s11432-012-4746-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11432-012-4746-9

Keywords