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.
Similar content being viewed by others
References
Belina, F., & Hogrefe, D. (1989). The CCITT-specification and description language SDL. Computer Networks, 16, 311–341.
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.
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.
Douglass, B. P. (1999). Statecharts. Andover: I-Logix.
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.
Harel, D. (1987). Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8(3), 231–274.
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.
Rothermel, G., & Harrold, M. J. (1997). A safe, efficient regression test selection technique. ACM Transactions on Software Engineering Methodology, 6(2), 173–210.
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.
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.
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.
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
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-013-9213-3