Skip to main content
Log in

Automated Test Generation and Static Analysis

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

The study and development of techniques for automated generation of “useful” tests, the development of a system that implements those techniques, and the development of methods for the analysis of programs designed for solving this problem are based on the earlier works of the author of the present paper, the works by B. Korel, and on the desire to understand if the approaches suggested can be used to develop real-world software. The first problem is as follows: determine, which information on the program must be collected to automatically generate a set of tests, and develop a component for collecting this information. The emphasis was made on collecting this information statically using a powerful flow analyzer developed in a laboratory of the Institute of Information Systems. Another problem consists in developing a prototype system for trying both well-known and new test generation methods suggested by the author. As a result, path-oriented and objective-oriented methods of test generation and the chaining approach (which turned out to be the most interesting one) are considered. This approach uses the concept of influence of an input variable on an operator along a certain program execution path and is based on dynamic analysis. The concept of influence can be extended for the case of all paths; then, such influences can be detected statically. In this paper, the influence along any path is rigorously defined and its constructive flow reformulation is given. On the basis of this reformulation, a language processor is developed that performs a static analysis of dependencies and calculates, for every statement of the program, the set of input variables that influence it.

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.

Similar content being viewed by others

REFERENCES

  1. Korel, B., Automated Software Test Data Generation, IEEE Trans. Software Eng., 1990, vol. SE-16, no. 8, pp. 870–879.

    Google Scholar 

  2. Korel, B. and Al-Yami, Ali M., Assertion-oriented Automated Test Data Generation, Proc. ISCE-18, Los Alamitos: IEEE Computer, 1996, pp. 71–80.

    Google Scholar 

  3. Ferguson, R. and Korel, B., The Chaining Approach for Software Test Data Generation, ACM Trans. Software Eng. Methodology, 1996, vol. 5, no. 1, pp. 63–86.

    Google Scholar 

  4. Kaufman, A.V. and Chernonozhkin, S.K., Supporting Structural Testing in the SOKRAT System, in Sredstva i instrumenty okruzhenii programmirovaniya (Tools of programming environments), Novosibirsk, 1995, pp. 30–45.

  5. Kaufman, A.V. and Chernonozhkin, S.K., Structural Testing in the SOKRAT System, in Programmnye sistemy (Programming Systems), Novosibirsk, 1995, pp. 135–148.

  6. Kaufman, A.V. and Chernonozhkin, S.K., OCT—A Coverage Tool for Modula-2 Programs, Preprint of Inst. of Informatics Systems, Siberian Division, Russian Academy of Sciences, Novosibirsk, 1997, no. 38.

  7. Kaufman, A.V. and Chernonozhkin, S.K., Testing Criteria and a System for Evaluating Completeness of a Test Set, Programmirovanie, 1998, no. 6, pp. 44–59.

  8. Shelekhov, V.I., The Structure of Program in the Language-Oriented Flow Analysis, Programmirovanie, 1996, no. 3, pp. 47–59.

  9. Shelekhov, V.I., An Invariant of the Programming Language, in Sredstva i instrumenty programmirovaniya (Programming Tools), Novosibirsk: Institute of Informatics Systems, Siberian Division, Russian Academy of Sciences, 1995, pp. 6–22.

    Google Scholar 

  10. Shelekhov, V.I., Internal Representation of Programs in the SOKRAT System, Preprint of Inst. of Informatics Systems, Siberian Division, Russian Academy of Sciences, Novosibirsk, 1992, no. 15.

  11. Shelekhov, V.I. and Kuksenko, S.V., Static Checker of Semantic Run-Time Errors, Programmirovanie, 1998, no. 6, pp. 27–43.

  12. Cousot, P. and Cousot, R., Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints, Rec. 18th ACM Symp. on Principles of Programming Languages, ACM, 1977, pp. 55–56.

  13. Vasil'ev, F.P., Chislennye metody resheniya ekstremal'nykh zadach (Numerical Methods for Solving Extremum Value Problems), Moscow: Nauka, 1988, pp. 342–347.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chernonozhkin, S.K. Automated Test Generation and Static Analysis. Programming and Computer Software 27, 86–94 (2001). https://doi.org/10.1023/A:1011050827465

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1011050827465

Keywords

Navigation