generate test data
Recently Published Documents


TOTAL DOCUMENTS

30
(FIVE YEARS 7)

H-INDEX

4
(FIVE YEARS 0)

2022 ◽  
pp. 884-909
Author(s):  
Ana Filipa Nogueira ◽  
José Carlos Bregieiro Ribeiro ◽  
Francisco Fernández de Vega ◽  
Mário Alberto Zenha-Rela

In object-oriented evolutionary testing, metaheuristics are employed to select or generate test data for object-oriented software. Techniques that analyse program structures are predominant among the panoply of studies available in current literature. For object-oriented evolutionary testing, the common objective is to reach some coverage criteria, usually in the form of statement or branch coverage. This chapter explores, reviews, and contextualizes relevant literature, tools, and techniques in this area, while identifying open problems and setting ground for future work.


Cybersecurity ◽  
2021 ◽  
Vol 4 (1) ◽  
Author(s):  
Pei-Yi Lin ◽  
Chia-Wei Tien ◽  
Ting-Chun Huang ◽  
Chin-Wei Tien

AbstractThe fuzzing test is able to discover various vulnerabilities and has more chances to hit the zero-day targets. And ICS(Industrial control system) is currently facing huge security threats and requires security standards, like ISO 62443, to ensure the quality of the device. However, some industrial proprietary communication protocols can be customized and have complicated structures, the fuzzing system cannot quickly generate test data that adapt to various protocols. It also struggles to define the mutation field without having prior knowledge of the protocols. Therefore, we propose a fuzzing system named ICPFuzzer that uses LSTM(Long short-term memory) to learn the features of a protocol and generates mutated test data automatically. We also use the responses of testing and adjust the weight strategies to further test the device under testing (DUT) to find more data that cause unusual connection status. We verified the effectiveness of the approach by comparing with the open-source and commercial fuzzers. Furthermore, in a real case, we experimented with the DLMS/COSEM for a smart meter and found that the test data can cause a unusual response. In summary, ICPFuzzer is a black-box fuzzing system that can automatically execute the testing process and reveal vulnerabilities that interrupt and crash industrial control communication. Not only improves the quality of ICS but also improves safety.


2021 ◽  
Vol 2 (4) ◽  
Author(s):  
Muhammad Sheraz Anjum ◽  
Conor Ryan

AbstractHeuristic-based optimization techniques have been increasingly used to automate different types of code coverage analysis. Several studies suggest that interdependencies (in the form of comparisons) may exist between the condition constructs, of variables and constant values, in the branching conditions of real-world programs, e.g. ($$i \le 100$$ i ≤ 100 ) or ($$i==j$$ i = = j ), etc. In this work, by interdependencies we refer to the situations where, to satisfy a branching condition, there must be a certain relationship between the values of some specific condition constructs (which may or may not be a part of the respective condition predicates). For example, the values of variables i and j must be equal to satisfy the condition of ($$i==j$$ i = = j ), and the value of variable k must be equal to 100 for the satisfaction of the condition of ($$k==100$$ k = = 100 ). To date, only the Ariadne, a Grammatical Evolution (GE)-based system, exploits these interdependencies between input variables (e.g. of the form ($$i \le j$$ i ≤ j ) or ($$i==j$$ i = = j ), etc.) to efficiently generate test data. Ariadne employs a simple attribute grammar to exploit these dependencies, which enables it to evolve complex test data, and has been compared favourably to other well-known techniques in the literature. However, Ariadne does not benefit from interdependencies involving constants, e.g. ($$i \le 100$$ i ≤ 100 ) or ($$j==500$$ j = = 500 ), etc., due to the difficulty in evolving precise values, and these are equally important constructs of condition predicates. Furthermore, constant creation in GE can be difficult, particularly with high precision. We propose to seed the grammar with constants extracted from the source code of the program under test to enhance and extend Ariadne’s capability to exploit richer types of dependencies (involving all combinations of both variables and constant values). We compared our results with the original system of Ariadne against a large set of benchmark problems which include 10 numeric programs in addition to the ones originally used for Ariadne. Our results demonstrate that the seeding strategy not only dramatically improves the generality of the system, as it improves the code coverage (effectiveness) by impressive margins, but it also reduces the search budgets (efficiency) often up to an order of magnitude. Moreover, we also performed a rigorous analysis to investigate the scalability of our improved Ariadne, showing that it stays highly scalable when compared to both the original system of Ariadne and GA-based test data generation approach.


Mathematics ◽  
2021 ◽  
Vol 9 (4) ◽  
pp. 331
Author(s):  
Rong Wang ◽  
Yuji Sato ◽  
Shaoying Liu

Specification-based testing methods generate test data without the knowledge of the structure of the program. However, the quality of these test data are not well ensured to detect bugs when non-functional changes are introduced to the program. To generate test data effectively, we propose a new method that combines formal specifications with the genetic algorithm (GA). In this method, formal specifications are reformed by GA in order to be used to generate input values that can kill as many mutants of the target program as possible. Two classic examples are presented to demonstrate how the method works. The result shows that the proposed method can help effectively generate test cases to kill the program mutants, which contributes to the further maintenance of software.


Author(s):  
Madhumita Panda ◽  
Sujata Dash

This chapter presents an overview of some widely accepted bio-inspired metaheuristic algorithms which would be helpful in solving the problems of software testing. Testing is an integral part of the software development process. A sizable number of Nature based algorithms coming under the per- view of metaheuristics have been used by researchers to solve practical problems of different disciplines of engineering and computer science, and software engineering. Here an exhaustive review of metaheuristic algorithms which have been employed to optimize the solution of test data generation for past 20 -30 years is presented. In addition to this, authors have reviewed their own work has been developed particularly to generate test data for path coverage based testing using Cuckoo Search and Gravitational Search algorithms. Also, an extensive comparison with the results obtained using Genetic Algorithms, Particle swarm optimization, Differential Evolution and Artificial Bee Colony algorithm are presented to establish the significance of the study.


2020 ◽  
Vol 12 (24) ◽  
pp. 4161
Author(s):  
László Csurgai-Horváth

Sensing of the rain rate and the movement of the rain field over a relatively small geographical area may often be necessary for agricultural purposes, water management objectives or transport management in airports or harbors. In this paper, an entirely passive method is suggested to sense rainfall rate and extension of a rain field, with reconstruction in two dimensions using a tomographic method. In order to achieve this goal, multiple colocated satellite receivers are proposed to measure the beacon signal levels of geostationary satellites received at different azimuth angles. The tomographic reconstruction of the rain field takes the advantage of the dis-placement of the rain field due to the movement of air masses, while the rain intensity along the receiving path is estimated by the attenuation of the radio signal between the satellite and the ground receiver. To realize the proposed system, a complete receiver setup and an existing, operational group of satellites are selected. A widely known rain field modeling method is applied to generate test data and evaluate the system. The feasibility of a technically realizable system is provided, and its capabilities are compared with a hypothetical, ideal system. The methods and algorithms are tested on an existing geographical location, simulating a real operating environment.


JOUTICA ◽  
2018 ◽  
Vol 3 (1) ◽  
pp. 137
Author(s):  
Arif Rahman Sujatmika ◽  
Yanuangga Gala Hartlambang

Testing is the stage of software development used to determine whether a software is ready for release or not. In making test cases using reference activity diagrams and statechart diagrams, a help representation was made, ie State-Activity-Diagram (SAD). The generation of test cases using a reference between the statechart diagram and the status diagram is still inadequate because in the case of the test produced there is no test data. The selection of test data for many test cases will be tedious and time consuming. In this paper, it is proposed to generate test data automatically based on existing test cases. Test data created based on class diagrams, and data dictionaries. The test case data consists of inputs and results. First enter information about the functions involved in the test case into the SAD node so that the SAD-S Diagram is obtained. Second, after the process of making the test case is completed, the test data is made by looking at the data dictionary function so that the test data is formed.


Author(s):  
Ana Filipa Nogueira ◽  
José Carlos Bregieiro Ribeiro ◽  
Francisco Fernández de Vega ◽  
Mário Alberto Zenha-Rela

In object-oriented evolutionary testing, metaheuristics are employed to select or generate test data for object-oriented software. Techniques that analyse program structures are predominant among the panoply of studies available in current literature. For object-oriented evolutionary testing, the common objective is to reach some coverage criteria, usually in the form of statement or branch coverage. This chapter explores, reviews, and contextualizes relevant literature, tools, and techniques in this area, while identifying open problems and setting ground for future work.


Author(s):  
Madhumita Panda ◽  
Sujata Dash

This chapter presents an overview of some widely accepted bio-inspired metaheuristic algorithms which would be helpful in solving the problems of software testing. Testing is an integral part of the software development process. A sizable number of Nature based algorithms coming under the per- view of metaheuristics have been used by researchers to solve practical problems of different disciplines of engineering and computer science, and software engineering. Here an exhaustive review of metaheuristic algorithms which have been employed to optimize the solution of test data generation for past 20 -30 years is presented. In addition to this, authors have reviewed their own work has been developed particularly to generate test data for path coverage based testing using Cuckoo Search and Gravitational Search algorithms. Also, an extensive comparison with the results obtained using Genetic Algorithms, Particle swarm optimization, Differential Evolution and Artificial Bee Colony algorithm are presented to establish the significance of the study.


Sign in / Sign up

Export Citation Format

Share Document