Skip to main content
Log in

Identifying the effects of modifications as data dependencies

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Dependence analysis on an extended finite state machine (EFSM) representation of the requirements of a system under test has been used in model-based regression testing for regression test suite (RTS) reduction (reducing the size of a given test suite by eliminating redundancies), for RTS prioritization (ordering test cases in a given test suite for early fault detection), or for RTS selection (selecting a subset of a test suite covering the identified dependencies). These particular uses of dependence analysis are based on the definitions of various types of control and data dependencies (between transitions in an EFSM) caused by a given set of modifications on the requirements. This paper considers the existing definitions of data dependencies for capturing the effects of the modifications, gives examples of their inaccuracy and incompleteness, proposes new definitions, and proves the soundness and completeness of these new definitions. Any previous work on regression testing using definitions of data dependencies capturing the effects of modifications can benefit from the proposed definitions.

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

Similar content being viewed by others

References

  • Belina, F., & Hogrefe, D. (1989). The CCITT-specification and description language SDL. Computer Networks, 16, 311–341.

    Google Scholar 

  • Chen, Y., Probert, R. L., & Ural, H. (2007). Model-based regression test suite generation using dependence analysis. In A-MOST (pp. 54–62). ACM.

  • Chen, Y., Probert, R. L., & Ural, H. (2007). Regression test suite reduction using extended dependence analysis. In M. Pezzè (Eds.), SOQUA (pp. 62–69). New York: ACM.

    Chapter  Google Scholar 

  • Chen, Y., Probert, R. L., & Ural, H. (2009). Regression test suite reduction based on SDL models of system requirements. Journal of Software Maintenance, 21(6), 379–405.

    Article  Google Scholar 

  • Douglass, B. P. (1999). Statecharts. Andover: I-Logix.

    Google Scholar 

  • Dssouli, R., Saleh, K., Aboulhamid, E. M., En Nouaary, A., & Bourhfir, C. (1999). Test development for communication protocols: Towards automation. Computer Networks, 31(17), 1835–1872.

    Article  Google Scholar 

  • Harel, D. (1987). Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8(3), 231–274.

    Article  MathSciNet  MATH  Google Scholar 

  • Korel, B., Koutsogiannakis, G., & Tahat, L. H. (2008). Application of system models in regression test suite prioritization. In ICSM (pp. 247–256). IEEE.

  • Korel, B., Tahat, L. H., & Vaysburg, B. (2002). Model based regression test reduction using dependence analysis. In ICSM (p. 214).

  • Rothermel, G., & Harrold, M. J. (1996). Analyzing regression test selection techniques. IEEE Transactions on Software Engineering, 22(8), 529–551.

    Article  Google Scholar 

  • Rothermel, G., & Harrold, M. J. (1997). A safe, efficient regression test selection technique. ACM Transactions on Software Engineering Methodology, 6(2), 173–210.

    Article  Google Scholar 

  • Santelices, R. A., Chittimalli, P. K., Apiwattanapong, T., Orso, A., & Harrold, M. J. (2008). Test-suite augmentation for evolving software. In ASE (pp. 218–227). IEEE.

  • Santelices, R. A., & Harrold, M. J. (2007). Efficiently monitoring data-flow test coverage. In R. E. K. Stirewalt, A. Egyed & B. Fcher & (Eds.), ASE (pp. 343–352). New York: ACM.

    Chapter  Google Scholar 

  • Santelices, R. A., & Harrold, M. J. (2010). Exploiting program dependencies for scalable multiple-path symbolic execution. In P. Tonella & A. Orso (Eds.), ISSTA (pp. 195–206). New York: ACM.

    Google Scholar 

  • Santelices, R. A., & Harrold, M. J. (2011). Applying aggressive propagation-based strategies for testing changes. In ICST (pp. 11–20). IEEE Computer Society.

  • Santelices, R. A., Harrold, M. J., & Orso, A. (2010). Precisely detecting runtime change interactions for evolving software. In ICST (pp. 429–438). IEEE Computer Society.

  • Tahat, L. H., Korel, B., Harman, M., & Ural, H. (2011). Regression test suite prioritization using system models. Software Testing, Verification and Reliability. doi:10.1002/stvr.461.

  • Ural, H., & Yenigün, H. (2012). Regression test suite selection using dependence analysis. Journal of Software: Evolution and Process. doi:10.1002/smr.1559.

  • Vaysburg, B., Tahat, L. H., & Korel, B. (2002). Dependence analysis in reduction of requirement based test suites. In ISSTA (pp. 107–111).

  • Yoo, S., & Harman, M. (2012). Regression testing minimization, selection and prioritization: A survey. Software Testing, Verification and Reliability, 22(2), 67–120.

    Article  Google Scholar 

Download references

Acknowledgments

The author wishes to thank Prof. Hasan Ural and Dr. Yanping Chen for many useful discussions. This work was supported in part by grants from the Natural Sciences and Engineering Research Council of Canada, and the Ontario Centres of Excellence, and Sabanci University.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hüsnü Yenigün.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Yenigün, H. Identifying the effects of modifications as data dependencies. Software Qual J 22, 701–716 (2014). https://doi.org/10.1007/s11219-013-9213-3

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-013-9213-3

Keywords

Navigation