Skip to main content
Log in

Improving dynamic domain reduction test data generation method by Euler/Venn reasoning system

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Test data adequacy is a major challenge in software testing literature. The difficulty is to provide sufficient test data to assure the correctness of the program under test. Especially, in the case of latent faults, the fault does not reveal itself unless specific combinations of input values are used to run the program. In this respect, detection of subdomains of the input domain that cover a specific execution path seems promising. A subdomain covers an execution path provided that each test data taken from the subdomain satisfies the path constraint. Dynamic Domain Reduction, or DDR in short, is a very well-known test data generation procedure, targeted at detection of the subdomains of the input domain that satisfy a given path constraint. In this paper, an improved version of DDR called Rapid Dynamic Domain Reduction, or RDDR in short, is introduced. RDDR is intended to explore subdomains of a program input domain, satisfying a given path constraint. For each feasible path, there is a distinct subdomain of the input domain that causes the program to execute the path. Hereby, we introduce a new metric named domain coverage, to qualify input data sets, in terms of the percentage of the subdomain of a feasible path covered by the data set. The main inspiration behind the domain coverage metric is to support test data adequacy. Our empirical results based on some well-known case studies confirms that RDDR significantly outperforms DDR in terms of speed and accuracy.

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

Access this article

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

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

References

  • Ammann, P., & Offutt, J. (2016). Introduction to software testing. Cambridge University Press.

  • Anand, S., Păsăreanu, C. S., & Visser, W. (2007). JPF–SE: a symbolic execution extension to Java Pathfinder. In International conference on tools and algorithms for the construction and analysis of systems. Berlin: Springer.

    Google Scholar 

  • Barwise, J., & Shimojima, A. (1995). Surrogate reasoning. Cognitive Studies: Bulletin of the Japanese Cognitive Science Society, 2(4), 7–27.

    Google Scholar 

  • Bjørner, N., & de Moura, L.. (2008). Z3: an efficient SMT solver. Tools and algorithms for the construction and analysis of systems (TACAS ‘08).

  • Chow, S., & Ruskey, F. (2003). Drawing area-proportional Venn and Euler diagrams (International symposium on graph drawing). Berlin: Springer.

  • Craig, R. D., & Jaskiel, S. P. (2002). Systematic software testing. Artech House Publishers.

  • DeMilli, R. A., & Jefferson Offutt, A. (1991). Constraint-based automatic test data generation. IEEE Transactions on Software Engineering, 17(9), 900–910.

    Article  Google Scholar 

  • Gotlieb, A., & Petit, M. (2006). Path-oriented random testing. In Proceedings of the 1st international workshop on Random testing (pp. 28-35). ACM.

  • Myers, G. J., Sandler, C., & Badgett, T. (2011). The art of software testing. John Wiley & Sons.

  • Offutt, A. J., Jin, Z., & Pan, J. (1999). The dynamic domain reduction procedure for test data generation. Software: Practice and Experience, 29(2), 167–193.

    Google Scholar 

  • Stapleton, G. (2005). A survey of reasoning systems based on Euler diagrams. Electronic Notes in Theoretical Computer Science, 134, 127–151.

    Article  Google Scholar 

  • Swoboda, N. (2002). Implementing Euler/Venn reasoning systems (Diagrammatic representation and reasoning) (pp. 371–386). London: Springer.

    MATH  Google Scholar 

  • Swoboda, N., & Allwein, G. (2002). Using DAG transformations to verify Euler/Venn homogeneous and Euler/Venn FOL heterogeneous rules of inference, May 2004, Volume 3, Issue 2, pp 136–149. London: Springer.

  • Tillmann, N., & De Halleux, J. (2008). Pex–White box test generation for .NET. In International conference on tests and proofs. Berlin: Springer.

    Google Scholar 

  • White, L. J. (May 1980). A domain strategy for computer program testing. IEEE Transactions on Software Engineering, 6(3), 247–257.

    Article  Google Scholar 

  • White, L. J., Cohen, E. I., & Zeil, S. J. (1981). A domain strategy for computer program testing. In B. C. Karan & S. Radicchi (Eds.), Computer program testing (pp. 103–112). Amsterdam: North Holland Publishing.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Esmaeel Nikravan.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Nikravan, E., Parsa, S. Improving dynamic domain reduction test data generation method by Euler/Venn reasoning system. Software Qual J 28, 823–851 (2020). https://doi.org/10.1007/s11219-019-09471-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-019-09471-4

Keywords

Navigation