Recently,researchers have shown increasing interest in combining more than one programming model into systems running on high performance computing systems(HPCs)to achieve exascale by applying parallelism at multiple ...Recently,researchers have shown increasing interest in combining more than one programming model into systems running on high performance computing systems(HPCs)to achieve exascale by applying parallelism at multiple levels.Combining different programming paradigms,such as Message Passing Interface(MPI),Open Multiple Processing(OpenMP),and Open Accelerators(OpenACC),can increase computation speed and improve performance.During the integration of multiple models,the probability of runtime errors increases,making their detection difficult,especially in the absence of testing techniques that can detect these errors.Numerous studies have been conducted to identify these errors,but no technique exists for detecting errors in three-level programming models.Despite the increasing research that integrates the three programming models,MPI,OpenMP,and OpenACC,a testing technology to detect runtime errors,such as deadlocks and race conditions,which can arise from this integration has not been developed.Therefore,this paper begins with a definition and explanation of runtime errors that result fromintegrating the three programming models that compilers cannot detect.For the first time,this paper presents a classification of operational errors that can result from the integration of the three models.This paper also proposes a parallel hybrid testing technique for detecting runtime errors in systems built in the C++programming language that uses the triple programming models MPI,OpenMP,and OpenACC.This hybrid technology combines static technology and dynamic technology,given that some errors can be detected using static techniques,whereas others can be detected using dynamic technology.The hybrid technique can detect more errors because it combines two distinct technologies.The proposed static technology detects a wide range of error types in less time,whereas a portion of the potential errors that may or may not occur depending on the 4502 CMC,2023,vol.74,no.2 operating environment are left to the dynamic technology,which completes the validation.展开更多
Software testing courses are characterized by strong practicality,comprehensiveness,and diversity.Due to the differences among students and the needs to design personalized solutions for their specific requirements,th...Software testing courses are characterized by strong practicality,comprehensiveness,and diversity.Due to the differences among students and the needs to design personalized solutions for their specific requirements,the design of the existing software testing courses fails to meet the demands for personalized learning.Knowledge graphs,with their rich semantics and good visualization effects,have a wide range of applications in the field of education.In response to the current problem of software testing courses which fails to meet the needs for personalized learning,this paper offers a learning path recommendation based on knowledge graphs to provide personalized learning paths for students.展开更多
Generally,software testing is considered as a proficient technique to achieve improvement in quality and reliability of the software.But,the quality of test cases has a considerable influence on fault revealing capabi...Generally,software testing is considered as a proficient technique to achieve improvement in quality and reliability of the software.But,the quality of test cases has a considerable influence on fault revealing capability of software testing activity.Test Case Prioritization(TCP)remains a challenging issue since prioritizing test cases is unsatisfactory in terms of Average Percentage of Faults Detected(APFD)and time spent upon execution results.TCP ismainly intended to design a collection of test cases that can accomplish early optimization using preferred characteristics.The studies conducted earlier focused on prioritizing the available test cases in accelerating fault detection rate during software testing.In this aspect,the current study designs aModified Harris Hawks Optimization based TCP(MHHO-TCP)technique for software testing.The aim of the proposed MHHO-TCP technique is to maximize APFD and minimize the overall execution time.In addition,MHHO algorithm is designed to boost the exploration and exploitation abilities of conventional HHO algorithm.In order to validate the enhanced efficiency of MHHO-TCP technique,a wide range of simulations was conducted on different benchmark programs and the results were examined under several aspects.The experimental outcomes highlight the improved efficiency of MHHO-TCP technique over recent approaches under different measures.展开更多
To address the problems of insufficient number of personalized exercises and cases and teachers’lack of grasp of students’weak knowledge points in the current software testing online courses,we study the strategy of...To address the problems of insufficient number of personalized exercises and cases and teachers’lack of grasp of students’weak knowledge points in the current software testing online courses,we study the strategy of establishing and updating intelligent exercise sets and case libraries and analyze the answers and dig out the weak points of knowledge through group intelligence reasoning and interactive machine learning methods.This will help teachers to make uniform and targeted explanations,reduce manual judgment,and achieve intelligent teaching quality reform,and implement the educational concepts of“keeping up with the times”and“teaching according to students’abilities”.展开更多
Technical debt(TD)happens when project teams carry out technical decisions in favor of a short-term goal(s)in their projects,whether deliberately or unknowingly.TD must be properly managed to guarantee that its negati...Technical debt(TD)happens when project teams carry out technical decisions in favor of a short-term goal(s)in their projects,whether deliberately or unknowingly.TD must be properly managed to guarantee that its negative implications do not outweigh its advantages.A lot of research has been conducted to show that TD has evolved into a common problem with considerable financial burden.Test technical debt is the technical debt aspect of testing(or test debt).Test debt is a relatively new concept that has piqued the curiosity of the software industry in recent years.In this article,we assume that the organization selects the testing artifacts at the start of every sprint.Implementing the latest features in consideration of expected business value and repaying technical debt are among candidate tasks in terms of the testing process(test cases increments).To gain the maximum benefit for the organization in terms of software testing optimization,there is a need to select the artifacts(i.e.,test cases)with maximum feature coverage within the available resources.The management of testing optimization for large projects is complicated and can also be treated as a multi-objective problem that entails a trade-off between the agile software’s short-term and long-term value.In this article,we implement a multi-objective indicatorbased evolutionary algorithm(IBEA)for fixing such optimization issues.The capability of the algorithm is evidenced by adding it to a real case study of a university registration process.展开更多
An invariant can be described as an essential relationship between program variables.The invariants are very useful in software checking and verification.The tools that are used to detect invariants are invariant dete...An invariant can be described as an essential relationship between program variables.The invariants are very useful in software checking and verification.The tools that are used to detect invariants are invariant detectors.There are two types of invariant detectors:dynamic invariant detectors and static invariant detectors.Daikon software is an available computer program that implements a special case of a dynamic invariant detection algorithm.Daikon proposes a dynamic invariant detection algorithm based on several runs of the tested program;then,it gathers the values of its variables,and finally,it detects relationships between the variables based on a simple statistical analysis.This method has some drawbacks.One of its biggest drawbacks is its overwhelming time order.It is observed that the runtime for the Daikon invariant detection tool is dependent on the ordering of traces in the trace file.A mechanism is proposed in order to reduce differences in adjacent trace files.It is done by applying some special techniques of mutation/crossover in genetic algorithm(GA).An experiment is run to assess the benefits of this approach.Experimental findings reveal that the runtime of the proposed dynamic invariant detection algorithm is superior to the main approach with respect to these improvements.展开更多
To solve the problems caused by military software security issues,this paper firstly introduces a new software fault injection technique,namely main static fault injection method:program mutation.And then source code ...To solve the problems caused by military software security issues,this paper firstly introduces a new software fault injection technique,namely main static fault injection method:program mutation.And then source code for testing this algorithm is put forward.On this basis buffer overflow testing based on program mutation is conducted.Finally several military software source codes for buffer overflow testing are tested using deficiency tracking system(DTS)tool,Experimental results show the effectiveness of the proposed algorithm.展开更多
Conventionally,the reliability of a web portal is validated with generalized conventional methods,but they fail to provide the desired results.Therefore,we need to include other quality factors that affect reliability...Conventionally,the reliability of a web portal is validated with generalized conventional methods,but they fail to provide the desired results.Therefore,we need to include other quality factors that affect reliability such as usability for improving the reliability in addition to the conventional reliability testing.Actually,the primary objectives of web portals are to provide interactive integration of multiple functions confirming diverse requirements in an efficient way.In this paper,we employ testing profiles tomeasure the reliability through software operational profile,input space profile and usability profile along with qualitative measures of reliability and usability.Moreover,the case study used for verification is based on aweb application that facilitates information and knowledge sharing among its online members.The proposed scheme is compared with the conventional reliability improvement method in terms of failure detection and reliability.The final results unveil that the computation of reliability by using the traditional method(utilizing failure points with the assistance of Mean Time Between Failures(MTBF)and Mean Time To Failure(MTTF)becomes ineffective under certain situations.Under such situations,the proposed scheme helps to compute the reliability in an effective way.Moreover,the outcomes of the study provide insight recommendations about the testing and measurement of reliability for Web based software or applications.展开更多
Software test case optimization improves the efficiency of the software by proper structure and reduces the fault in the software.The existing research applies various optimization methods such as Genetic Algorithm,Cr...Software test case optimization improves the efficiency of the software by proper structure and reduces the fault in the software.The existing research applies various optimization methods such as Genetic Algorithm,Crow Search Algorithm,Ant Colony Optimization,etc.,for test case optimization.The existing methods have limitations of lower efficiency in fault diagnosis,higher computa-tional time,and high memory requirement.The existing methods have lower effi-ciency in software test case optimization when the number of test cases is high.This research proposes the Tournament Winner Genetic Algorithm(TW-GA)method to improve the efficiency of software test case optimization.Hospital Information System(HIS)software was used to evaluate TW-GA model perfor-mance in test case optimization.The tournament Winner in the proposed method selects the instances with the best fitness values and increases the exploitation of the search to find the optimal solution.The TW-GA method has higher exploita-tion that helps to find the mutant and equivalent mutation that significantly increases fault diagnosis in the software.The TW-GA method discards the infor-mation with a lower fitness value that reduces the computational time and mem-ory requirement.The TW-GA method requires 5.47 s and the MOCSFO method requires 30 s for software test case optimization.展开更多
As one of the most effective techniques for finding software vulnerabilities,fuzzing has become a hot topic in software security.It feeds potentially syntactically or semantically malformed test data to a target progr...As one of the most effective techniques for finding software vulnerabilities,fuzzing has become a hot topic in software security.It feeds potentially syntactically or semantically malformed test data to a target program to mine vulnerabilities and crash the system.In recent years,considerable efforts have been dedicated by researchers and practitioners towards improving fuzzing,so there aremore and more methods and forms,whichmake it difficult to have a comprehensive understanding of the technique.This paper conducts a thorough survey of fuzzing,focusing on its general process,classification,common application scenarios,and some state-of-the-art techniques that have been introduced to improve its performance.Finally,this paper puts forward key research challenges and proposes possible future research directions that may provide new insights for researchers.展开更多
Much of our daily tasks have been computerized by machines and sensors communicating with each other in real-time.There is a reasonable risk that something could go wrong because there are a lot of sensors producing a...Much of our daily tasks have been computerized by machines and sensors communicating with each other in real-time.There is a reasonable risk that something could go wrong because there are a lot of sensors producing a lot of data.Combinatorial testing(CT)can be used in this case to reduce risks and ensure conformance to specifications.Numerous existing metaheuristic-based solutions aim to assist the test suite generation for combinatorial testing,also known as t-way testing(where t indicates the interaction strength),viewed as an optimization problem.Much previous research,while helpful,only investigated a small number of interaction strengths up to t=6.For lightweight applications,research has demonstrated good fault-finding ability.However,the number of interaction strengths considered must be higher in the case of interactions that generate large amounts of data.Due to resource restrictions and the combinatorial explosion challenge,little work has been done to produce high-order interaction strength.In this context,the Whale Optimization Algorithm(WOA)is proposed to generate high-order interaction strength.To ensure that WOA conquers premature convergence and avoids local optima for large search spaces(owing to high-order interaction),three variants of WOA have been developed,namely Structurally Modified Whale Optimization Algorithm(SWOA),Tolerance Whale Optimization Algorithm(TWOA),and Tolerance Structurally Modified Whale Optimization Algorithm(TSWOA).Our experiments show that the third strategy gives the best performance and is comparable to existing state-of-thearts based strategies.展开更多
Internet-of-Things(IoT)has attained a major share in embedded software development.The new era of specialized intelligent systems requires adaptation of customized software engineering approaches.Currently,software en...Internet-of-Things(IoT)has attained a major share in embedded software development.The new era of specialized intelligent systems requires adaptation of customized software engineering approaches.Currently,software engineering has merged the development phases with the technologies provided by industrial automation.The improvements are still required in testing phase for the software developed to IoT solutions.This research aims to assist in developing the testing strategies for IoT applications,therein ontology has been adopted as a knowledge representation technique to different software engineering processes.The proposed ontological model renders 101 methodology by using Protégé.After completion,the ontology was evaluated in three-dimensional view by the domain experts of software testing,IoT and ontology engineering.Satisfied results of the research are showed in interest of the specialists regarding proposed ontology development and suggestions for improvements.The Proposed reasoning-based ontological model for development of testing strategies in IoT application contributes to increase the general understanding of tests in addition to assisting for the development of testing strategies for different IoT devices.展开更多
<span style="font-family:Verdana;">The advent of technology has opened unprecedented opportunities in health care delivery system as the demand for intelligent and knowledge-based systems has increased...<span style="font-family:Verdana;">The advent of technology has opened unprecedented opportunities in health care delivery system as the demand for intelligent and knowledge-based systems has increased as modern medical practices become more knowledge-intensive. As a result of this, there is greater need to investigate the pervasiveness of software faults in Safety critical medical systems for proper diagnosis. The sheer volume of code in these systems creates significant concerns about the quality of the software. The rate of untimely deaths nowadays is alarming partly due to the medical device used to carry out the diagnosis process. A safety-critical medical (SCM) system is a complex system in which the malfunctioning of software could result in death, injury of the patient or damage to the environment. The malfunctioning of the software could be as a result of the inadequacy in software testing due to test suit problem or oracle problem. Testing a SCM system poses great challenges to software testers. One of these challenges is the need to generate a limited number of test cases of a given regression test suite in a manner that does not compromise its defect detection ability. This paper presents a novel five-stage fault-based testing procedure for SCM, a model-based approach to generate test cases for differential diagnosis of Tuberculosis. We used Prime Path Coverage and Edge-Pair Coverage as coverage criteria to ensure maximum coverage to identify feasible paths. We analyzed the proposed testing procedure with the help of three metrics consisting of Fault Detection Density, Fault Detection Effectiveness and Mutation Adequacy Score. We evaluated the effectiveness of our testing procedure by running the suggested test cases on a sample historical data of tuberculosis patients. The experimental results show that our developed testing procedure has some advantages such as creating mutant graphs and Fuzzy Cognitive Map Engine while resolving the problem of eliminating infeasible test cases for effective decision making.</span>展开更多
<div style="text-align:justify;"> A test method and system for AI industrial application capabilities of smart terminals. The method includes the following steps: According to the temperature change va...<div style="text-align:justify;"> A test method and system for AI industrial application capabilities of smart terminals. The method includes the following steps: According to the temperature change values of different AI industrial applications executed by standard smart terminal equipment under different equipment parameters, the equipment parameters and temperature changes of standard smart terminal equipment are constructed. Correlation model;obtain the device parameters of the smart terminal device to be tested, and obtain the predicted value of the temperature change of the smart terminal device to be tested based on the correlation model between the device parameters of the standard smart terminal device and the temperature change;Measure the actual value of the temperature change of the intelligent terminal device executing different AI industrial applications;obtain the test result of the intelligent terminal device to be tested according to the predicted value of the temperature change and the actual value of the temperature change. </div>展开更多
<div style="text-align:justify;"> <span style="font-family:Verdana;">Software systems have become complex and challenging to develop and maintain because of the large size of test cases...<div style="text-align:justify;"> <span style="font-family:Verdana;">Software systems have become complex and challenging to develop and maintain because of the large size of test cases with increased scalability issues. Test case prioritization methods have been successfully utilized in test case management. However, the prohibitively exorbitant cost of large test cases is now the mainstream in the software industry. The growth of agile test-driven development has increased the expectations for software quality. Yet, our knowledge of when to use various path testing criteria for cost-effectiveness is inadequate due to the inherent complexity in software testing. Existing researches attempted to address the issue without effectively tackling the scalability of large test suites to reduce time in regression testing. In order to provide a more accurate way of fault detection in software projects, we introduced novel coverage criteria, called Incremental Cluster-based test case Prioritization (ICP), and investigated its potentials by making a comparative evaluation with three un-clustered traditional coverage-based criteria: Prime-Path Coverage (PPC), Edge-Pair Coverage (EPC) and Edge Coverage (EC) based on mutation analysis. By clustering test suites, based on their dynamic run-time behavior, the number of pair-wise comparisons is reduced significantly. To compare, we analyzed 20 functions from 25 C programs, instrumented faults into the programs, and used the Mull mutation tool to generate mutants and perform a statistical analysis of the results. The experimental results show that ICP can lead to cost-effective improvements in fault detection.</span> </div>展开更多
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.展开更多
Coverage based fuzzing is a widespread vulnerability detection technique,and it has exposed many bugs in many real-world programs.However,its attention is to eliminate the testing on the repeated paths,yet it still em...Coverage based fuzzing is a widespread vulnerability detection technique,and it has exposed many bugs in many real-world programs.However,its attention is to eliminate the testing on the repeated paths,yet it still employs random mutation to generate inputs,which is blind to penetrate complex comparisons in the program.As a result,the testing coverage is limited.Despite some solution proposals are presented,this problem is still partially solved.This paper argues that random mutation is mainly limited by two challenges,the sizable search space and the lack of a useful feedback to direct the search.Then we present an augmented fuzzing technique by addressing these two challenges.First of all,we point out a black relationship between input contents and comparison operands,which is dubbed connection.Second,we present a novel method to collect the comparison operands during execution,which is leveraged to infer the connections.Based on the connections,the fuzzer can learn about which input byte affects on which comparison instruction to establish a smaller search space.Third,the connection provides a useful feedback to direct the search.We resort to a modern metaheuristic algorithm to satisfy this searching requirement.We developed a prototype Pusher and evaluated its performance on several benchmarks and four real-world programs.The experimental results demonstrate that Pusher works better than some other state-of-the-art fuzzers on bug detection,and can achieve a higher testing coverage.Moreover,we take a detailed statistic about the execution overhead in Pusher,and the results indicate that the execution overhead introduced by our approach is within an acceptable scope.展开更多
Covering arrays(CA)of strength t,mixed level or fixed level,have been applied to software testing to aim for a minimum coverage of all t-way interactions among components.The size of CA increases with the increase of ...Covering arrays(CA)of strength t,mixed level or fixed level,have been applied to software testing to aim for a minimum coverage of all t-way interactions among components.The size of CA increases with the increase of strength interaction t,which increase the cost of software testing.However,it is quite often that some certain components have strong interactions,while others may have fewer or none.Hence,a better way to test software system is to identify the subsets of components which are involved in stronger interactions and apply high strength interaction testing only on these subsets.For this,in 2003,the notion of variable strength covering arrays was proposed by Cohen et al.to satisfy the need to vary the size of t in an individual test suite.In this paper,an effective deterministic construction of variable strength covering arrays is presented.Based on the construction,some series of variable strength covering arrays are then obtained,which are all optimal in the sense of their sizes.In the procedure,two classes of new difference matrices of strength 3 are also mentioned.展开更多
基金[King Abdulaziz University][Deanship of Scientific Research]Grant Number[KEP-PHD-20-611-42].
文摘Recently,researchers have shown increasing interest in combining more than one programming model into systems running on high performance computing systems(HPCs)to achieve exascale by applying parallelism at multiple levels.Combining different programming paradigms,such as Message Passing Interface(MPI),Open Multiple Processing(OpenMP),and Open Accelerators(OpenACC),can increase computation speed and improve performance.During the integration of multiple models,the probability of runtime errors increases,making their detection difficult,especially in the absence of testing techniques that can detect these errors.Numerous studies have been conducted to identify these errors,but no technique exists for detecting errors in three-level programming models.Despite the increasing research that integrates the three programming models,MPI,OpenMP,and OpenACC,a testing technology to detect runtime errors,such as deadlocks and race conditions,which can arise from this integration has not been developed.Therefore,this paper begins with a definition and explanation of runtime errors that result fromintegrating the three programming models that compilers cannot detect.For the first time,this paper presents a classification of operational errors that can result from the integration of the three models.This paper also proposes a parallel hybrid testing technique for detecting runtime errors in systems built in the C++programming language that uses the triple programming models MPI,OpenMP,and OpenACC.This hybrid technology combines static technology and dynamic technology,given that some errors can be detected using static techniques,whereas others can be detected using dynamic technology.The hybrid technique can detect more errors because it combines two distinct technologies.The proposed static technology detects a wide range of error types in less time,whereas a portion of the potential errors that may or may not occur depending on the 4502 CMC,2023,vol.74,no.2 operating environment are left to the dynamic technology,which completes the validation.
基金supported by the Special Funds for Basic Research of Central Universities(D5000220240)the Special Funds for Education and Teaching Reform in 2023(06410-23GZ230102)。
文摘Software testing courses are characterized by strong practicality,comprehensiveness,and diversity.Due to the differences among students and the needs to design personalized solutions for their specific requirements,the design of the existing software testing courses fails to meet the demands for personalized learning.Knowledge graphs,with their rich semantics and good visualization effects,have a wide range of applications in the field of education.In response to the current problem of software testing courses which fails to meet the needs for personalized learning,this paper offers a learning path recommendation based on knowledge graphs to provide personalized learning paths for students.
基金The authors extend their appreciation to the Deanship of Scientific Research at King Khalid University for funding this work under Grant Number(RGP.1/127/42)Princess Nourah bint Abdulrahman University Researchers Supporting Project Number(PNURSP2022R237),Princess Nourah bint Abdulrahman University,Riyadh,Saudi Arabia.
文摘Generally,software testing is considered as a proficient technique to achieve improvement in quality and reliability of the software.But,the quality of test cases has a considerable influence on fault revealing capability of software testing activity.Test Case Prioritization(TCP)remains a challenging issue since prioritizing test cases is unsatisfactory in terms of Average Percentage of Faults Detected(APFD)and time spent upon execution results.TCP ismainly intended to design a collection of test cases that can accomplish early optimization using preferred characteristics.The studies conducted earlier focused on prioritizing the available test cases in accelerating fault detection rate during software testing.In this aspect,the current study designs aModified Harris Hawks Optimization based TCP(MHHO-TCP)technique for software testing.The aim of the proposed MHHO-TCP technique is to maximize APFD and minimize the overall execution time.In addition,MHHO algorithm is designed to boost the exploration and exploitation abilities of conventional HHO algorithm.In order to validate the enhanced efficiency of MHHO-TCP technique,a wide range of simulations was conducted on different benchmark programs and the results were examined under several aspects.The experimental outcomes highlight the improved efficiency of MHHO-TCP technique over recent approaches under different measures.
文摘To address the problems of insufficient number of personalized exercises and cases and teachers’lack of grasp of students’weak knowledge points in the current software testing online courses,we study the strategy of establishing and updating intelligent exercise sets and case libraries and analyze the answers and dig out the weak points of knowledge through group intelligence reasoning and interactive machine learning methods.This will help teachers to make uniform and targeted explanations,reduce manual judgment,and achieve intelligent teaching quality reform,and implement the educational concepts of“keeping up with the times”and“teaching according to students’abilities”.
基金The authors would like to thank the Deanship of Scientific Research at Umm Al-Qura University for supporting this work by Grant Code:(22UQUyouracademicnumberDSRxx).
文摘Technical debt(TD)happens when project teams carry out technical decisions in favor of a short-term goal(s)in their projects,whether deliberately or unknowingly.TD must be properly managed to guarantee that its negative implications do not outweigh its advantages.A lot of research has been conducted to show that TD has evolved into a common problem with considerable financial burden.Test technical debt is the technical debt aspect of testing(or test debt).Test debt is a relatively new concept that has piqued the curiosity of the software industry in recent years.In this article,we assume that the organization selects the testing artifacts at the start of every sprint.Implementing the latest features in consideration of expected business value and repaying technical debt are among candidate tasks in terms of the testing process(test cases increments).To gain the maximum benefit for the organization in terms of software testing optimization,there is a need to select the artifacts(i.e.,test cases)with maximum feature coverage within the available resources.The management of testing optimization for large projects is complicated and can also be treated as a multi-objective problem that entails a trade-off between the agile software’s short-term and long-term value.In this article,we implement a multi-objective indicatorbased evolutionary algorithm(IBEA)for fixing such optimization issues.The capability of the algorithm is evidenced by adding it to a real case study of a university registration process.
文摘An invariant can be described as an essential relationship between program variables.The invariants are very useful in software checking and verification.The tools that are used to detect invariants are invariant detectors.There are two types of invariant detectors:dynamic invariant detectors and static invariant detectors.Daikon software is an available computer program that implements a special case of a dynamic invariant detection algorithm.Daikon proposes a dynamic invariant detection algorithm based on several runs of the tested program;then,it gathers the values of its variables,and finally,it detects relationships between the variables based on a simple statistical analysis.This method has some drawbacks.One of its biggest drawbacks is its overwhelming time order.It is observed that the runtime for the Daikon invariant detection tool is dependent on the ordering of traces in the trace file.A mechanism is proposed in order to reduce differences in adjacent trace files.It is done by applying some special techniques of mutation/crossover in genetic algorithm(GA).An experiment is run to assess the benefits of this approach.Experimental findings reveal that the runtime of the proposed dynamic invariant detection algorithm is superior to the main approach with respect to these improvements.
文摘To solve the problems caused by military software security issues,this paper firstly introduces a new software fault injection technique,namely main static fault injection method:program mutation.And then source code for testing this algorithm is put forward.On this basis buffer overflow testing based on program mutation is conducted.Finally several military software source codes for buffer overflow testing are tested using deficiency tracking system(DTS)tool,Experimental results show the effectiveness of the proposed algorithm.
基金This study was supported by Suranaree University of Technology.
文摘Conventionally,the reliability of a web portal is validated with generalized conventional methods,but they fail to provide the desired results.Therefore,we need to include other quality factors that affect reliability such as usability for improving the reliability in addition to the conventional reliability testing.Actually,the primary objectives of web portals are to provide interactive integration of multiple functions confirming diverse requirements in an efficient way.In this paper,we employ testing profiles tomeasure the reliability through software operational profile,input space profile and usability profile along with qualitative measures of reliability and usability.Moreover,the case study used for verification is based on aweb application that facilitates information and knowledge sharing among its online members.The proposed scheme is compared with the conventional reliability improvement method in terms of failure detection and reliability.The final results unveil that the computation of reliability by using the traditional method(utilizing failure points with the assistance of Mean Time Between Failures(MTBF)and Mean Time To Failure(MTTF)becomes ineffective under certain situations.Under such situations,the proposed scheme helps to compute the reliability in an effective way.Moreover,the outcomes of the study provide insight recommendations about the testing and measurement of reliability for Web based software or applications.
文摘Software test case optimization improves the efficiency of the software by proper structure and reduces the fault in the software.The existing research applies various optimization methods such as Genetic Algorithm,Crow Search Algorithm,Ant Colony Optimization,etc.,for test case optimization.The existing methods have limitations of lower efficiency in fault diagnosis,higher computa-tional time,and high memory requirement.The existing methods have lower effi-ciency in software test case optimization when the number of test cases is high.This research proposes the Tournament Winner Genetic Algorithm(TW-GA)method to improve the efficiency of software test case optimization.Hospital Information System(HIS)software was used to evaluate TW-GA model perfor-mance in test case optimization.The tournament Winner in the proposed method selects the instances with the best fitness values and increases the exploitation of the search to find the optimal solution.The TW-GA method has higher exploita-tion that helps to find the mutant and equivalent mutation that significantly increases fault diagnosis in the software.The TW-GA method discards the infor-mation with a lower fitness value that reduces the computational time and mem-ory requirement.The TW-GA method requires 5.47 s and the MOCSFO method requires 30 s for software test case optimization.
基金supported in part by the National Natural Science Foundation of China under Grants 62273272,62303375,and 61873277in part by the Key Research and Development Program of Shaanxi Province under Grant 2023-YBGY-243+1 种基金in part by the Natural Science Foundation of Shaanxi Province under Grant 2020JQ-758in part by the Youth Innovation Team of Shaanxi Universities,and in part by the Special Fund for Scientific and Technological Innovation Strategy of Guangdong Province under Grant 2022A0505030025.
文摘As one of the most effective techniques for finding software vulnerabilities,fuzzing has become a hot topic in software security.It feeds potentially syntactically or semantically malformed test data to a target program to mine vulnerabilities and crash the system.In recent years,considerable efforts have been dedicated by researchers and practitioners towards improving fuzzing,so there aremore and more methods and forms,whichmake it difficult to have a comprehensive understanding of the technique.This paper conducts a thorough survey of fuzzing,focusing on its general process,classification,common application scenarios,and some state-of-the-art techniques that have been introduced to improve its performance.Finally,this paper puts forward key research challenges and proposes possible future research directions that may provide new insights for researchers.
基金This work was supported by the Ministry of Education,Malaysia(FRGS/1/2019/ICT02/UKM/01/1)the Universiti Kebangsaan Malaysia(DIP-2016-024).
文摘Much of our daily tasks have been computerized by machines and sensors communicating with each other in real-time.There is a reasonable risk that something could go wrong because there are a lot of sensors producing a lot of data.Combinatorial testing(CT)can be used in this case to reduce risks and ensure conformance to specifications.Numerous existing metaheuristic-based solutions aim to assist the test suite generation for combinatorial testing,also known as t-way testing(where t indicates the interaction strength),viewed as an optimization problem.Much previous research,while helpful,only investigated a small number of interaction strengths up to t=6.For lightweight applications,research has demonstrated good fault-finding ability.However,the number of interaction strengths considered must be higher in the case of interactions that generate large amounts of data.Due to resource restrictions and the combinatorial explosion challenge,little work has been done to produce high-order interaction strength.In this context,the Whale Optimization Algorithm(WOA)is proposed to generate high-order interaction strength.To ensure that WOA conquers premature convergence and avoids local optima for large search spaces(owing to high-order interaction),three variants of WOA have been developed,namely Structurally Modified Whale Optimization Algorithm(SWOA),Tolerance Whale Optimization Algorithm(TWOA),and Tolerance Structurally Modified Whale Optimization Algorithm(TSWOA).Our experiments show that the third strategy gives the best performance and is comparable to existing state-of-thearts based strategies.
基金This work was supported by the King Saud University(in Riyadh,Saudi Arabia)through the Researcher Support Project Number(RSP-2021/387).
文摘Internet-of-Things(IoT)has attained a major share in embedded software development.The new era of specialized intelligent systems requires adaptation of customized software engineering approaches.Currently,software engineering has merged the development phases with the technologies provided by industrial automation.The improvements are still required in testing phase for the software developed to IoT solutions.This research aims to assist in developing the testing strategies for IoT applications,therein ontology has been adopted as a knowledge representation technique to different software engineering processes.The proposed ontological model renders 101 methodology by using Protégé.After completion,the ontology was evaluated in three-dimensional view by the domain experts of software testing,IoT and ontology engineering.Satisfied results of the research are showed in interest of the specialists regarding proposed ontology development and suggestions for improvements.The Proposed reasoning-based ontological model for development of testing strategies in IoT application contributes to increase the general understanding of tests in addition to assisting for the development of testing strategies for different IoT devices.
文摘<span style="font-family:Verdana;">The advent of technology has opened unprecedented opportunities in health care delivery system as the demand for intelligent and knowledge-based systems has increased as modern medical practices become more knowledge-intensive. As a result of this, there is greater need to investigate the pervasiveness of software faults in Safety critical medical systems for proper diagnosis. The sheer volume of code in these systems creates significant concerns about the quality of the software. The rate of untimely deaths nowadays is alarming partly due to the medical device used to carry out the diagnosis process. A safety-critical medical (SCM) system is a complex system in which the malfunctioning of software could result in death, injury of the patient or damage to the environment. The malfunctioning of the software could be as a result of the inadequacy in software testing due to test suit problem or oracle problem. Testing a SCM system poses great challenges to software testers. One of these challenges is the need to generate a limited number of test cases of a given regression test suite in a manner that does not compromise its defect detection ability. This paper presents a novel five-stage fault-based testing procedure for SCM, a model-based approach to generate test cases for differential diagnosis of Tuberculosis. We used Prime Path Coverage and Edge-Pair Coverage as coverage criteria to ensure maximum coverage to identify feasible paths. We analyzed the proposed testing procedure with the help of three metrics consisting of Fault Detection Density, Fault Detection Effectiveness and Mutation Adequacy Score. We evaluated the effectiveness of our testing procedure by running the suggested test cases on a sample historical data of tuberculosis patients. The experimental results show that our developed testing procedure has some advantages such as creating mutant graphs and Fuzzy Cognitive Map Engine while resolving the problem of eliminating infeasible test cases for effective decision making.</span>
文摘<div style="text-align:justify;"> A test method and system for AI industrial application capabilities of smart terminals. The method includes the following steps: According to the temperature change values of different AI industrial applications executed by standard smart terminal equipment under different equipment parameters, the equipment parameters and temperature changes of standard smart terminal equipment are constructed. Correlation model;obtain the device parameters of the smart terminal device to be tested, and obtain the predicted value of the temperature change of the smart terminal device to be tested based on the correlation model between the device parameters of the standard smart terminal device and the temperature change;Measure the actual value of the temperature change of the intelligent terminal device executing different AI industrial applications;obtain the test result of the intelligent terminal device to be tested according to the predicted value of the temperature change and the actual value of the temperature change. </div>
文摘<div style="text-align:justify;"> <span style="font-family:Verdana;">Software systems have become complex and challenging to develop and maintain because of the large size of test cases with increased scalability issues. Test case prioritization methods have been successfully utilized in test case management. However, the prohibitively exorbitant cost of large test cases is now the mainstream in the software industry. The growth of agile test-driven development has increased the expectations for software quality. Yet, our knowledge of when to use various path testing criteria for cost-effectiveness is inadequate due to the inherent complexity in software testing. Existing researches attempted to address the issue without effectively tackling the scalability of large test suites to reduce time in regression testing. In order to provide a more accurate way of fault detection in software projects, we introduced novel coverage criteria, called Incremental Cluster-based test case Prioritization (ICP), and investigated its potentials by making a comparative evaluation with three un-clustered traditional coverage-based criteria: Prime-Path Coverage (PPC), Edge-Pair Coverage (EPC) and Edge Coverage (EC) based on mutation analysis. By clustering test suites, based on their dynamic run-time behavior, the number of pair-wise comparisons is reduced significantly. To compare, we analyzed 20 functions from 25 C programs, instrumented faults into the programs, and used the Mull mutation tool to generate mutants and perform a statistical analysis of the results. The experimental results show that ICP can lead to cost-effective improvements in fault detection.</span> </div>
基金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(Grant No.61702540)Hunan Provincial Natural ScienceFoundation of China(2018j3615).
文摘Coverage based fuzzing is a widespread vulnerability detection technique,and it has exposed many bugs in many real-world programs.However,its attention is to eliminate the testing on the repeated paths,yet it still employs random mutation to generate inputs,which is blind to penetrate complex comparisons in the program.As a result,the testing coverage is limited.Despite some solution proposals are presented,this problem is still partially solved.This paper argues that random mutation is mainly limited by two challenges,the sizable search space and the lack of a useful feedback to direct the search.Then we present an augmented fuzzing technique by addressing these two challenges.First of all,we point out a black relationship between input contents and comparison operands,which is dubbed connection.Second,we present a novel method to collect the comparison operands during execution,which is leveraged to infer the connections.Based on the connections,the fuzzer can learn about which input byte affects on which comparison instruction to establish a smaller search space.Third,the connection provides a useful feedback to direct the search.We resort to a modern metaheuristic algorithm to satisfy this searching requirement.We developed a prototype Pusher and evaluated its performance on several benchmarks and four real-world programs.The experimental results demonstrate that Pusher works better than some other state-of-the-art fuzzers on bug detection,and can achieve a higher testing coverage.Moreover,we take a detailed statistic about the execution overhead in Pusher,and the results indicate that the execution overhead introduced by our approach is within an acceptable scope.
基金supported by the National Natural Science Foundation of China(Nos.11301342,61972241)the Natural Science Foundation of Shanghai(No.17ZR1419900)President Foundation of Shanghai Ocean University(NO.A2-2006-20-200212)。
文摘Covering arrays(CA)of strength t,mixed level or fixed level,have been applied to software testing to aim for a minimum coverage of all t-way interactions among components.The size of CA increases with the increase of strength interaction t,which increase the cost of software testing.However,it is quite often that some certain components have strong interactions,while others may have fewer or none.Hence,a better way to test software system is to identify the subsets of components which are involved in stronger interactions and apply high strength interaction testing only on these subsets.For this,in 2003,the notion of variable strength covering arrays was proposed by Cohen et al.to satisfy the need to vary the size of t in an individual test suite.In this paper,an effective deterministic construction of variable strength covering arrays is presented.Based on the construction,some series of variable strength covering arrays are then obtained,which are all optimal in the sense of their sizes.In the procedure,two classes of new difference matrices of strength 3 are also mentioned.