An Adaptive Strategy for Improving the Performance of Genetic Programming-based Approaches to Evolutionary Testing José Carlos Bregieiro Ribeiro

Mário Zenha-Rela

Francisco Fernández de Vega

Polytechnic Institute of Leiria (IPL) Morro do Lena, Alto do Vieiro Leiria, Portugal

University of Coimbra (UC) CISUC, DEI, 3030-290 Coimbra, Portugal

University of Extremadura (UNEX)

[email protected]

[email protected]

[email protected]

Abstract

C/ Sta Teresa de Jornet, 38 Mérida, SpainT

Framework Overview

2

This paper proposes an adaptive strategy for enhancing Genetic Programming -based approaches to automatic test case generation. The main contribution of this study is that of proposing an adaptive Evolutionary Testing methodology for promoting the introduction of relevant instructions into the generated test cases by means of mutation; the instructions from which the algorithm can choose are ranked, with their rankings being updated every generation in accordance to the feedback obtained from the individuals evaluated in the preceding generation. The experimental studies developed show that the adaptive strategy proposed improves the algorithm's efficiency considerably, while introducing a neglectful computational overhead.

Introduction

1

Software Testing 





Software testing is an expensive process. In industry, it is often done manually. Locating suitable test data can be  time-consuming,  difficult,  and expensive.

 Automating

Evolutionary Testing the

Evolutionary Algorithms

test data generation process is vital to advance the state-of-the-art in software testing.

3 

Strongly-Typed GP is particularly suited for unit-test cases in stronglytyped languages such as Java.

Software Testing





Methodology Overview

Search Space

=

The input domain of the test object.

Evolutionary Testing

Our Approach 

Employing evolutionary algorithms for generating and evolving test cases for the structural unittesting of objectoriented programs.



Test data quality evaluation includes instrumenting the test object, executing it with the generated test cases, and tracing the structures traversed in order to derive coverage metrics.

An Adaptive Evolutionary Testing Strategy Adaptive Evolutionary Algorithms are distinguished by their dynamic manipulation of selected parameters during the course of evolving a problem solution. They are more reactive to the unanticipated particulars of the problem.

Let the constraint selection ranking of constraint c in generation g be identified as ρg. Then, ρg is updated, at the beginning of each generation, as follows.

Our Adaptive Evolutionary Testing methodology involves promoting the introduction of relevant instructions into the generated test cases by means of mutation. The instructions from which the algorithm can choose are ranked, with their rankings being updated every generation in accordance to the feedback obtained from the individuals evaluated in the preceding generation.

The goal is to encourage diversity and test case feasability.

4 





The runtime exceptions caused factor λ main purpose is that of penalizing the ranking of constraints corresponding to instructions that have caused runtime exceptions to be thrown in the preceding generation. The runtime exceptions caused by ancestors factor σ main purpose is that of penalizing the ranking of constraints which have participated in the composition of sub-trees that have caused runtime exceptions to be thrown in the preceding generation. The constraint diversity factor γ main purposes are those of allowing constraints to recover their ranking if they have been being used infrequently, and penalizing the ranking of constraints which have been selected too often.



The adaptive strategy outperformed the static approach for 28.4% of the methods tested, whereas the latter only surpassed the former in 5.9% of the situations.

The computational overhead introduced was neglectful. 



Conclusions

The adaptive strategy proposed improves the algorithm’s efficiency. 

 

Finding a set of input data (test cases) that satisfies a certain test criterion.

+

Strongly-Typed GP 

Problem

The time overhead introduced by the adaptation procedure was a mere 0.19%.

This strategy allows 



mitigating the negative effects of including a large number of entries into the test cluster; a higher degree of freedom when defining the test cluster, by minimizing the impact of redundant, irrelevant or erroneous choices.

GECCO 2009. Montreal, Canada

An Adaptive Strategy for Improving the Performance of ...

Software testing is an ... software testing. Evolutionary Testing. Evolutionary. Algorithms. +. Software ... Let the constraint selection ranking of constraint c in.

3MB Sizes 0 Downloads 246 Views

Recommend Documents

An Adaptive Strategy for Improving the Performance of ...
Performance of Genetic Programming-based. Approaches to Evolutionary ... Evolutionary Testing, Search-Based Software Engineering,. Genetic Programming ...

Improving Performance of World Wide Web by Adaptive ...
Dec 17, 2006 - of the file, saving the web pages at the client side, changing the burst nature of traffic ... unnecessarily increase storage costs, transmission costs, download .... When uploading large files, intelligent agents prompt the user to ..

Techniques for Improving the Performance of Naive ...
... negatively. In such cases,. 1 http://people.csail.mit.edu/people/jrennie/20Newsgroups/. 2 http://www.cs.cmu.edu/afs/cs.cmu.edu/project/theo-20/www/data/ ...

an adaptive parameter control strategy for aco - Semantic Scholar
Aug 16, 2006 - 1College of Computer Science and Engineering, South China University of Technology, Guangzhou, P. R. ... one of the best performing algorithms for NP-hard problems ..... program tools, systems and computing machines.

Techniques for Improving the Performance of Naive Bayes ... - CiteSeerX
and student of the WebKB corpus and remove all HTML markup. All non-alphanumeric ..... C.M., Frey, B.J., eds.: AI & Statistics 2003: Proceedings of the Ninth.

Improving Security and Performance of an Ad Hoc ...
munications systems, the Research Community focused its effort on security and. ⋆ The work of ... privacy to wireless Mobile Ad Hoc networks (MANETs). ...... For a text file, it is simply not possible, we could loose information which prevents the 

APPLICATION OF AN ADAPTIVE BACKGROUND MODEL FOR ...
Analysis and Machine Intelligence, 11(8), 1989, 859-872. [12] J. Sklansky, Measuring concavity on a rectangular mosaic. IEEE Transactions on Computing, ...

Improving Performance of Communication Through ...
d IBM Canada CAS Research, Markham, Ontario, Canada e Department of Computer .... forms the UPC source code to an intermediate representation (W-Code); (ii). 6 ...... guages - C, Tech. rep., http://www.open-std.org/JTC1/SC22/WG14/.

Improving the Performance of the Sparse Matrix Vector ...
Currently, Graphics Processing Units (GPUs) offer massive ... 2010 10th IEEE International Conference on Computer and Information Technology (CIT 2010).

Improving the Packet Delivery Performance for ... - IEEE Xplore
Abstract—In this letter, we investigate the properties of packet collisions in IEEE 802.15.4-based wireless sensor networks when packets with the same content ...

Improving Energy Performance in Canada
Sustainable Development Technology Canada –. NextGen ..... through education and outreach, as well as through .... energy science and technology by conducting ...... 171 026. Oct. 11. 175 552. Nov. 11. 167 188. Dec. 11. 166 106. Jan. 12.

Improving Energy Performance in Canada
and Canadian businesses money by decreasing their energy bills ... oee.nrcan.gc.ca/publications/statistics/trends11/pdf/trends.pdf. economy in ...... 2015–2016.

Improving FPGA Performance and Area Using an ... - Springer Link
input sharing and fracturability we are able to get the advantages of larger LUT sizes ... ther improvements built on the ALM we can actually show an area benefit. 2 Logic ..... results comparing production software and timing models in both cases an

Improving FPGA Performance and Area Using an ... - Springer Link
that a 4-LUT provides the best area-delay product. .... This terminology is necessary in order to account for area later. ... a 12% overall savings in ALM area.

Improving the Performance of Trickle-Based Data Dissemination in ...
and Johan J. Lukkien. Dept. of Mathematics and Computer Science, Eindhoven University of Technology,. P.O. Box 513, 5600 MB, Eindhoven, The Netherlands.

Improving the Finite Sample Performance of ...
ternational risk$sharing becomes larger when the technology shock becomes ..... Assumption FL can be replaced by the bounded deterministic sequence of.

Improving UX through performance - GitHub
Page 10 ... I'm rebuilding the Android app for new markets ... A debug bridge for Android applications https://github.com/facebook/stetho ...

Improving Performance and Lifetime of the SSD RAID-based Host ...
This paper proposes a cost-effective and reliable SSD host ..... D10. D11. SSD. Cache. 2. P0. P1. P2. P3. SSD. Cache. 3. Stripe. Data. Parity. Figure 2: .... Web. Response Time (Rela*ve). RAID-0. RAID-5. SRC. Figure 4: Response times of SRC and RAID-

Mini-Rank: Adaptive DRAM Architecture for Improving ...
classify the twenty-six benchmarks of the SPEC2000 suite .... trend of power saving and performance impact are similar to ..... IEEE Micro, 26(4):52–60, 2006.

Improving the Performance of Web Services by ...
I. INTRODUCTION. As far as communication for distributed applications in ... dynamic strategy based on client profiling and on a predic- tive model. With a ...

An Architecture for Affective Management of Systems of Adaptive ...
In: Int'l Workshop on Database and Expert Systems Applications (DEXA 2003), ... Sterritt, R.: Pulse monitoring: extending the health-check for the autonomic grid.

An Adaptive Hybrid Multiprocessor Technique for ... - Kaust
must process large amounts of data which may take a long time. Here, we introduce .... and di are matched, or -4 when qi and di are mismatched. To open a new ...