Automated test generation tools enable test automation and further alleviate the low efficiency caused by writing hand-crafted test cases.However,existing automated tools are not mature enough to be widely used by sof...Automated test generation tools enable test automation and further alleviate the low efficiency caused by writing hand-crafted test cases.However,existing automated tools are not mature enough to be widely used by software testing groups.This paper conducts an empirical study on the state-of-the-art automated tools for Java,i.e.,EvoSuite,Randoop,JDoop,JTeXpert,T3,and Tardis.We design a test workflow to facilitate the process,which can automatically run tools for test generation,collect data,and evaluate various metrics.Furthermore,we conduct empirical analysis on these six tools and their related techniques from different aspects,i.e.,code coverage,mutation score,test suite size,readability,and real fault detection ability.We discuss about the benefits and drawbacks of hybrid techniques based on experimental results.Besides,we introduce our experience in setting up and executing these tools,and summarize their usability and user-friendliness.Finally,we give some insights into automated tools in terms of test suite readability improvement,meaningful assertion generation,test suite reduction for random testing tools,and symbolic execution integration.展开更多
In the modern analogue design, Transistor Level Fault Simulation (TLFS) plays the im-portant part since every fault in the whole circuit has to be simulated at that level. Unfortunately, it is a very CPU intensive tas...In the modern analogue design, Transistor Level Fault Simulation (TLFS) plays the im-portant part since every fault in the whole circuit has to be simulated at that level. Unfortunately, it is a very CPU intensive task even though it maintains the high accuracy. Therefore, High Level Fault Modeling (HLFM) and High Level Fault Simulation (HLFS) are required in order to alleviate the efforts of simulation. In this paper, different HLFM approaches are reviewed at the device level during last two decades. We clarify their domains of application and evaluate their strengths and current limitations. We also analyze causes of faults and introduce various test approaches.展开更多
Automatically generating test cases by evolutionary algorithms to satisfy the path coverage criterion has attracted much research attention in software testing.In the context of generating test cases to cover many tar...Automatically generating test cases by evolutionary algorithms to satisfy the path coverage criterion has attracted much research attention in software testing.In the context of generating test cases to cover many target paths,the efficiency of existing methods needs to be further improved when infeasible or difficult paths exist in the program under test.This is because a significant amount of the search budget(i.e.,time allocated for the search to run)is consumed when computing fitness evaluations of individuals on infeasible or difficult paths.In this work,we present a feedback-directed mechanism that temporarily removes groups of paths from the target paths when no improvement is observed for these paths in subsequent generations.To fulfill this task,our strategy first organizes paths into groups.Then,in each generation,the objective scores of each individual for all paths in each group are summed up.For each group,the lowest value of the summed up objective scores among all individuals is assigned as the best aggregated score for a group.A group is removed when no improvement is observed in its best aggregated score over the last two generations.The experimental results show that the proposed approach can significantly improve path coverage rates for programs under test with infeasible or difficult paths in case of a limited search budget.In particular,the feedback-directed mechanism reduces wasting the search budget on infeasible paths or on difficult target paths that require many fitness evaluations before getting an improvement.展开更多
Power generators and chemical engineering compressors include heavy and large centrifugal impellers. To produce these impellers in high-speed machining, a 4?-axis milling machine(or a 4-axis machine plus an indexing t...Power generators and chemical engineering compressors include heavy and large centrifugal impellers. To produce these impellers in high-speed machining, a 4?-axis milling machine(or a 4-axis machine plus an indexing table) is often used in the industry, which is more rigid than a5-axis milling machine. Since impeller blades are designed with complex B-spline surfaces and impeller channels spaces vary significantly, it is more efficient to use multiple cutters as large as possible to cut a channel in sections and a blade surface in patches, instead of only using a small cutter to machine a whole blade and a channel. Unfortunately, no approach has been established to automatically calculate the largest diameters of cutters and their paths, which include the indexing table angles. To address this problem, an automated and optimization approach is proposed. Based on the structure of a 4?-axis machine, a geometric model for a cutter gouging/interfering the impeller is formulated, and an optimization model of the cutter diameter in terms of the indexing table angle is established at a cutter contact(CC) point on a blade surface. Then, the diameters of the tools,their orientations, and the indexing table angles are optimized, and each tool's paths are generated for machining its corresponding impeller section. As a test, an impeller is efficiently machined with these tools section by section; thus, this approach is valid. It can be directly used in the industry to improve efficiency of machining centrifugal impellers.展开更多
The ability to solve various constraints is a principal factor of automatic constraint solvers. Most object-oriented languages treat a character string as a primitive data type which is manipulated by string library f...The ability to solve various constraints is a principal factor of automatic constraint solvers. Most object-oriented languages treat a character string as a primitive data type which is manipulated by string library functions. Most constraint solvers have limitations on their input constraints, such as strong restrictions on the expressiveness of constraints or lack of the ability to solve hybrid constraints. These limitations hinder applying automated constraint solvers on program analysis techniques for programs containing strings and string manipulation functions. We propose an approach to automatically solve program constraints involving strings and string manipulation functions. Based on the character array model, we design a constraint language which contains primitive operations to precisely describe the constraints of commonly used string manipulation functions. The translated string constraints together with numeric constraints are then solved by a two- phase test generation procedure: firstly, a partial solution is obtained to satisfy the arithmetic constraints of the position variables, and the solution is utilized to simplify the string constraints into pure character array constraints; secondly, the pure array constraints are solved by an off-the-shelf array-specific theory based constraint solver. We integrate the approach into an automated testing tool to support the generation of string test cases, and then perform experiments. The results of the experiments prove that the integration of the proposed approach promotes the testing coverage of the existing testing tool, and the integrated tool has an advantage of handling specific string manipulation functions compared with an existing string solver.展开更多
The International Conference on Computer-Aided Design and Computer Graphics (CAD/Graphics) is a bian- nual international conference since 1989, which is affiliated with the Chinese Computer Federation (CCF). The c...The International Conference on Computer-Aided Design and Computer Graphics (CAD/Graphics) is a bian- nual international conference since 1989, which is affiliated with the Chinese Computer Federation (CCF). The conference is intended to provide an ideal forum for international researchers and developers to exchange new ideas on computer-aided design and computer graphics, electronic design automation, and visualization, to explore new ideas and trends.展开更多
基金supported by the National Natural Science Foundation of China under Grant Nos.62072225 and 62025202.
文摘Automated test generation tools enable test automation and further alleviate the low efficiency caused by writing hand-crafted test cases.However,existing automated tools are not mature enough to be widely used by software testing groups.This paper conducts an empirical study on the state-of-the-art automated tools for Java,i.e.,EvoSuite,Randoop,JDoop,JTeXpert,T3,and Tardis.We design a test workflow to facilitate the process,which can automatically run tools for test generation,collect data,and evaluate various metrics.Furthermore,we conduct empirical analysis on these six tools and their related techniques from different aspects,i.e.,code coverage,mutation score,test suite size,readability,and real fault detection ability.We discuss about the benefits and drawbacks of hybrid techniques based on experimental results.Besides,we introduce our experience in setting up and executing these tools,and summarize their usability and user-friendliness.Finally,we give some insights into automated tools in terms of test suite readability improvement,meaningful assertion generation,test suite reduction for random testing tools,and symbolic execution integration.
基金Supported by the Fundamental Research Grand Scheme(Ref: frgs 2/2010/TK/UTP/0318, Ministry of High Education (MOHE)MalaysiaShort Tem Internal Research Fund (STIRF No. 20/10.11)) provided by Research Enterprise Office, Universiti Teknologi Petronas, Malaysia in 2010-2012
文摘In the modern analogue design, Transistor Level Fault Simulation (TLFS) plays the im-portant part since every fault in the whole circuit has to be simulated at that level. Unfortunately, it is a very CPU intensive task even though it maintains the high accuracy. Therefore, High Level Fault Modeling (HLFM) and High Level Fault Simulation (HLFS) are required in order to alleviate the efforts of simulation. In this paper, different HLFM approaches are reviewed at the device level during last two decades. We clarify their domains of application and evaluate their strengths and current limitations. We also analyze causes of faults and introduce various test approaches.
基金supported by the National Natural Science Foundation of China(No.61876207)the Natural Science Foundation of Guangdong Province(No.2022A1515011491)the Fundamental Research Funds for the Central Universities(No.2020ZYGXZR014).
文摘Automatically generating test cases by evolutionary algorithms to satisfy the path coverage criterion has attracted much research attention in software testing.In the context of generating test cases to cover many target paths,the efficiency of existing methods needs to be further improved when infeasible or difficult paths exist in the program under test.This is because a significant amount of the search budget(i.e.,time allocated for the search to run)is consumed when computing fitness evaluations of individuals on infeasible or difficult paths.In this work,we present a feedback-directed mechanism that temporarily removes groups of paths from the target paths when no improvement is observed for these paths in subsequent generations.To fulfill this task,our strategy first organizes paths into groups.Then,in each generation,the objective scores of each individual for all paths in each group are summed up.For each group,the lowest value of the summed up objective scores among all individuals is assigned as the best aggregated score for a group.A group is removed when no improvement is observed in its best aggregated score over the last two generations.The experimental results show that the proposed approach can significantly improve path coverage rates for programs under test with infeasible or difficult paths in case of a limited search budget.In particular,the feedback-directed mechanism reduces wasting the search budget on infeasible paths or on difficult target paths that require many fitness evaluations before getting an improvement.
基金supported by the National Natural Science Foundation of China(No.51475328)the National Science and Technology Major Project of China(No.2015ZX04001202)
文摘Power generators and chemical engineering compressors include heavy and large centrifugal impellers. To produce these impellers in high-speed machining, a 4?-axis milling machine(or a 4-axis machine plus an indexing table) is often used in the industry, which is more rigid than a5-axis milling machine. Since impeller blades are designed with complex B-spline surfaces and impeller channels spaces vary significantly, it is more efficient to use multiple cutters as large as possible to cut a channel in sections and a blade surface in patches, instead of only using a small cutter to machine a whole blade and a channel. Unfortunately, no approach has been established to automatically calculate the largest diameters of cutters and their paths, which include the indexing table angles. To address this problem, an automated and optimization approach is proposed. Based on the structure of a 4?-axis machine, a geometric model for a cutter gouging/interfering the impeller is formulated, and an optimization model of the cutter diameter in terms of the indexing table angle is established at a cutter contact(CC) point on a blade surface. Then, the diameters of the tools,their orientations, and the indexing table angles are optimized, and each tool's paths are generated for machining its corresponding impeller section. As a test, an impeller is efficiently machined with these tools section by section; thus, this approach is valid. It can be directly used in the industry to improve efficiency of machining centrifugal impellers.
基金This work was partially supported by the National Natural Science Foundation of China under Grant Nos. 61202080, 61702044, and 61502029.
文摘The ability to solve various constraints is a principal factor of automatic constraint solvers. Most object-oriented languages treat a character string as a primitive data type which is manipulated by string library functions. Most constraint solvers have limitations on their input constraints, such as strong restrictions on the expressiveness of constraints or lack of the ability to solve hybrid constraints. These limitations hinder applying automated constraint solvers on program analysis techniques for programs containing strings and string manipulation functions. We propose an approach to automatically solve program constraints involving strings and string manipulation functions. Based on the character array model, we design a constraint language which contains primitive operations to precisely describe the constraints of commonly used string manipulation functions. The translated string constraints together with numeric constraints are then solved by a two- phase test generation procedure: firstly, a partial solution is obtained to satisfy the arithmetic constraints of the position variables, and the solution is utilized to simplify the string constraints into pure character array constraints; secondly, the pure array constraints are solved by an off-the-shelf array-specific theory based constraint solver. We integrate the approach into an automated testing tool to support the generation of string test cases, and then perform experiments. The results of the experiments prove that the integration of the proposed approach promotes the testing coverage of the existing testing tool, and the integrated tool has an advantage of handling specific string manipulation functions compared with an existing string solver.
文摘The International Conference on Computer-Aided Design and Computer Graphics (CAD/Graphics) is a bian- nual international conference since 1989, which is affiliated with the Chinese Computer Federation (CCF). The conference is intended to provide an ideal forum for international researchers and developers to exchange new ideas on computer-aided design and computer graphics, electronic design automation, and visualization, to explore new ideas and trends.