Explore chapters and articles related to this topic
Application of Genetic Algorithms, Partial Swarm Optimization, and Differential Evolution in Software Testing
Published in Krishn Kumar Mishra, Nature-Inspired Algorithms, 2023
This chapter proposes the application of GA and Enhanced-GA (EGA) in white-box testing. The statement coverage is taken as adequacy criteria to determine when to end the testing process. Gcov tool is a Linux-based tool that can check the statement coverage of different benchmark programs. Let us discuss some tools used to identify statement, branch, and path coverage in detail.
Code Coverage Metrics
Published in Chris Hobbs, Embedded Software Development for Safety-Critical Systems, 2019
The popular, open-source tool gcov measures coverage, including branch coverage, on C code compiled with particular options to force the compiler to insert the necessary statistics-gathering instructions. Its way of counting branches is more complex than the simple Boolean did-branch/didn’t-branch metric described above.
Code Coverage Metrics
Published in Chris Hobbs, Embedded Software Development for Safety-Critical Systems, 2017
The popular, open-source tool gcov measures coverage, including branch coverage, on C code compiled with particular options to force the compiler to insert the necessary statistics-gathering instructions. Its way of counting branches is more complex than the simple Boolean did-branch/didn’t-branch metric described above.
Study and evaluation of improved automatic GPU offloading method
Published in International Journal of Parallel, Emergent and Distributed Systems, 2021
We need to exclude loop statements in which GPU processing is impossible. The Pgcc of the PGI compiler can determine for each statement such as kernels that can be processed because of tightly nested loop, cannot be parallelised but vectorised or so on. Therefore, for each for statement that makes such a judgement, the implementation attempts inserting #pragma acc kernels, #pragma acc parallel loop, and #pragma acc parallel loop vector directives to determine whether errors occurred during compilation. Three directives of #pragma acc kernels, parallel loop, and parallel loop vector will result in errors, and for statements that cannot be processed by GPU will be excluded from the search target for GPU processing in GA. We also can exclude loops with few loop number by checking gcov or gprof.
Automatic offloading method of loop statements of software to FPGA
Published in International Journal of Parallel, Emergent and Distributed Systems, 2021
Next, the implementation executes the arithmetic intensity analysis tool to determine the possibility of the offloading effect of each loop statement to the FPGA and obtain an index of arithmetic intensity. Only the number of top A loop statements with the highest arithmetic intensity are targeted. ROSE framework 0.9 is used for arithmetic intensity analysis. Although this framework has many functions, it can be used for arithmetic intensity analysis only. This implementation also executes the profiling tool to obtain the repeat number of loops of a loop statement. Gcov is used for profiling in this implementation; Gprof can be also used. The implementation narrows down the number of target loop statements with high arithmetic intensity and high loop numbers.