=Paper= {{Paper |id=Vol-2790/paper08 |storemode=property |title= The Study of the Sequential Inclusion of Paths in the Analysis of Program Code for the Task of Selecting Input Test Data |pdfUrl=https://ceur-ws.org/Vol-2790/paper08.pdf |volume=Vol-2790 |authors=Konstantin E. Serdyukov,Tatiana V. Avdeenko |dblpUrl=https://dblp.org/rec/conf/rcdl/SerdyukovA20 }} == The Study of the Sequential Inclusion of Paths in the Analysis of Program Code for the Task of Selecting Input Test Data == https://ceur-ws.org/Vol-2790/paper08.pdf
  The Study of the Sequential Inclusion of Paths in the
Analysis of Program Code for the Task of Selecting Input
                      Test Data

 Konstantin E. Serdyukov[оооо-оооз-41б2-129sJ and Tatiana V. Avdeenko[оооо-0002-sб14-59З4J
    NovosiЬirsk State Technical University, К. Marks avenue 20, 630073 NovosiЬirsk, Russia
                                        zores@live.ru


         Abstract. The article proposes the results of а study evaluating one and many
         paths of program code, the work is not finished yet. То solve the proЫem of
         generating data sets, it is proposed to use а genetic algorithm for determining the
         complexity of program code for many paths. The proposed method allows to
         generate data for multiple code paths Ьу sequentially eliminating operations to
         achieve maximum possiЫe code coverage. For each generated data set the oper­
         ations on the path are excluded from following generation, which allows gener­
         ating new sets along other paths. The article describes the results of this method
         with а description of the data generation method and analysis of the generated
         data sets for many paths.

         Keywords: genetic algorithщ test data, control flow graph, fitness function,
         testing process, program code, optimization method, test data generation, code
         coverage


1        Review of Existing Researches of Testing Automation and
         Selection of Test Data
Software engineering is а comprehensive, systematic approach to the development and
maintenance of software. When developing programs, the following stages are most
often distinguished - analysis, design, programming and testing. At the analysis stage,
software requirements are determined and documentation is performed. At the design
stage, the appearance of the program is detailed, its intemal functionality is determined,
the product structure is developed, and requirements for subsequent testing are intro­
duced. Writing the source code of а program in one of the programming languages is
done at the programming stage.
   One of the most important steps in developing software products is testing. The im­
portant goals of testing are the compliance of the developed program with the specified
requirements, adherence to logic in the data processing processes and obtaining сопесt
final results. Therefore, for testing it is very important to generate input data, on the
basis of which the program will Ье checked for eпors and compliance with specified
requirements. То assess the quality of the input data, the code coverage indicator is
used, that is, what percentage of the entire program can the test suites "cover". It is


    Copyright © 2020 for this paper Ьу its authors. Use permitted under Creative
    Commons License Attribution 4.0 Intemational (СС ВУ 4.0).




                                                79