Software testing is the methodology of analyzing the nature of software to test if it works as anticipated so as to boost its reliability and quality.These two characteristics are very critical in the software applica...Software testing is the methodology of analyzing the nature of software to test if it works as anticipated so as to boost its reliability and quality.These two characteristics are very critical in the software applications of present times.When testers want to perform scenario evaluations,test oracles are generally employed in the third phase.Upon test case execution and test outcome generation,it is essential to validate the results so as to establish the software behavior’s correctness.By choosing a feasible technique for the test case optimization and prioritization as along with an appropriate assessment of the application,leads to a reduction in the fault detection work with minimal loss of information and would also greatly reduce the cost for clearing up.A hybrid Particle Swarm Optimization(PSO)with Stochastic Diffusion Search(PSO-SDS)based Neural Network,and a hybrid Harmony Search with Stochastic Diffusion Search(HS-SDS)based Neural Network has been proposed in this work.Further to evaluate the performance,it is compared with PSO-SDS based artificial Neural Network(PSO-SDS ANN)and Artificial Neural Network(ANN).The Misclassification of correction output(MCO)of HS-SDS Neural Network is 6.37 for 5 iterations and is well suited for automated testing.展开更多
In recent years, a variety of encrypfion algorithms were proposed to enhance the security of software and systems. Validating whether encryption algorithms are correctly implemented is a challenging issue. Software te...In recent years, a variety of encrypfion algorithms were proposed to enhance the security of software and systems. Validating whether encryption algorithms are correctly implemented is a challenging issue. Software testing delivers an effective and practical solution, but it also faces the oracle problem (that is, under many practical situations, it is impossible or too computationally expensive to know whether the output for any given input is correct). In this paper, we propose a property-based approach to testing encryption programs in the absence of oracles. Our approach makes use of the so-called metamorphic properties of encryption algorithms to generate test cases and verify test results. Two case studies were conducted to illustrate the proposed approach and validate its effectiveness. Experimental results show that even without oracles, the proposed approach can detect nearly 50% inserted faults with at most three metamorphic relations (MRs) and fifty test cases.展开更多
文摘Software testing is the methodology of analyzing the nature of software to test if it works as anticipated so as to boost its reliability and quality.These two characteristics are very critical in the software applications of present times.When testers want to perform scenario evaluations,test oracles are generally employed in the third phase.Upon test case execution and test outcome generation,it is essential to validate the results so as to establish the software behavior’s correctness.By choosing a feasible technique for the test case optimization and prioritization as along with an appropriate assessment of the application,leads to a reduction in the fault detection work with minimal loss of information and would also greatly reduce the cost for clearing up.A hybrid Particle Swarm Optimization(PSO)with Stochastic Diffusion Search(PSO-SDS)based Neural Network,and a hybrid Harmony Search with Stochastic Diffusion Search(HS-SDS)based Neural Network has been proposed in this work.Further to evaluate the performance,it is compared with PSO-SDS based artificial Neural Network(PSO-SDS ANN)and Artificial Neural Network(ANN).The Misclassification of correction output(MCO)of HS-SDS Neural Network is 6.37 for 5 iterations and is well suited for automated testing.
基金Acknowledgements Authors would like to thank Professor Tsong Yueh Chen for his constructive comments on the earlier version of this paper and Rong Liang for her involvement in the experiments reported in this work. This research was supported by the National Natural Science Foundation of China (Grant Nos. 60903003, 61370061), the Beijing Natural Science Foundation of China (4112037), the Fundamental Research Funds for the Central Universities (FRF-SD-12-015A), the Open Funds of the State Key Laboratory of Computer Science of Chinese Academy of Science, (SYSKF1105), and the Beijing Municipal Training Program for Excellent Talents (2012D009006000002). Thanks to the anonymous reviewers who provided useful suggestions on earlier versions of this paper.
文摘In recent years, a variety of encrypfion algorithms were proposed to enhance the security of software and systems. Validating whether encryption algorithms are correctly implemented is a challenging issue. Software testing delivers an effective and practical solution, but it also faces the oracle problem (that is, under many practical situations, it is impossible or too computationally expensive to know whether the output for any given input is correct). In this paper, we propose a property-based approach to testing encryption programs in the absence of oracles. Our approach makes use of the so-called metamorphic properties of encryption algorithms to generate test cases and verify test results. Two case studies were conducted to illustrate the proposed approach and validate its effectiveness. Experimental results show that even without oracles, the proposed approach can detect nearly 50% inserted faults with at most three metamorphic relations (MRs) and fifty test cases.