scispace - formally typeset
Search or ask a question
Author

Arjan Seesing

Bio: Arjan Seesing is an academic researcher. The author has contributed to research in topics: Genetic programming & Software. The author has an hindex of 1, co-authored 1 publications receiving 29 citations.

Papers
More filters

Cited by
More filters
01 Apr 2009
TL;DR: This paper identifies research trends and relationships between the techniques applied and the applications to which they have been applied and highlights gaps in the literature and avenues for further research.
Abstract: In the past five years there has been a dramatic increase in work on Search Based Software Engineering (SBSE), an approach to software engineering in which search based optimisation algorithms are used to address problems in Software Engineering. SBSE has been applied to problems throughout the Software Engineering lifecycle, from requirements and project planning to maintenance and re-engineering. The approach is attractive because it offers a suite of adaptive automated and semi-automated solutions in situations typified by large complex problem spaces with multiple competing and conflicting objectives. This paper provides a review and classification of literature on SBSE. The paper identifies research trends and relationships between the techniques applied and the applications to which they have been applied and highlights gaps in the literature and avenues for further research.

311 citations

Proceedings ArticleDOI
16 Jul 2008
TL;DR: This paper proposes a method to generate test cases for classes in object oriented software using a genetic programming approach that uses tree representation of statements in test cases.
Abstract: Genetic algorithms have been successfully applied in the area of software testing. The demand for automation of test case generation in object oriented software testing is increasing. Genetic algorithms are well applied in procedural software testing but a little has been done in testing of object oriented software. In this paper, we propose a method to generate test cases for classes in object oriented software using a genetic programming approach. This method uses tree representation of statements in test cases. Strategies for encoding the test cases and using the objective function to evolve them as suitable test case are proposed.

48 citations

Proceedings ArticleDOI
27 Oct 2010
TL;DR: A framework that implements a multi-objective genetic algorithm is described and combinations of three objectives are experimentally evaluated: coverage of structural test criteria, ability to reveal faults, and execution time.
Abstract: Evolutionary testing has successfully applied search based optimization algorithms to the test data generation problem. The existing works use different techniques and fitness functions. However, the used functions consider only one objective, which is, in general, related to the coverage of a testing criterion. But, in practice, there are many factors that can influence the generation of test data, such as memory consumption, execution time, revealed faults, and etc. Considering this fact, this work explores a ultiobjective optimization approach for test data generation. A framework that implements a multi-objective genetic algorithm is described. Two different representations for the population are used, which allows the test of procedural and object-oriented code. Combinations of three objectives are experimentally evaluated: coverage of structural test criteria, ability to reveal faults, and execution time.

36 citations

Journal ArticleDOI
TL;DR: The focus of the research is on employing evolutionary algorithms for the structural unit-testing of Object-Oriented programs through the introduction of novel methodologies for automation, search guidance and Input Domain Reduction.
Abstract: In Evolutionary Testing, meta-heuristic search techniques are used for generating test data. The focus of our research is on employing evolutionary algorithms for the structural unit-testing of Object-Oriented programs. Relevant contributions include the introduction of novel methodologies for automation, search guidance and Input Domain Reduction; the strategies proposed were empirically evaluated with encouraging results. Test cases are evolved using the Strongly-Typed Genetic Programming technique. 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. The methodology for efficiently guiding the search process towards achieving full structural coverage involves favouring test cases that exercise problematic structures. Purity Analysis is employed as a systematic strategy for reducing the search space.

34 citations

Journal ArticleDOI
TL;DR: An improved genetic algorithm that can reduce computational cost of mutation testing and propose a new two-way crossover and adaptable mutation methods that intelligently use the fitness information to generate fitter offspring.
Abstract: Mutation testing is a fault-based testing technique that helps generating effective test cases. Mutation testing is computationally expensive, because it requires executing hundreds and even thousands of mutants. In this situation, search-based approaches like genetic algorithm can help to automate test case generation to reduce the cost. In this paper, we present an improved genetic algorithm that can reduce computational cost of mutation testing. First, we present a novel state-based and control-oriented fitness function that efficiently uses object-oriented program features to evaluate a test case. We then empirically evaluate it using our implemented tool, eMuJava, and compare it with the standard fitness function. Results show that although our proposed fitness function provides detailed information about fitness of a test case but standard genetic algorithm is incapable of using that effectively to repair the test cases. Therefore, we propose a new two-way crossover and adaptable mutation methods that intelligently use the fitness information to generate fitter offspring. Finally, we compare the improved genetic algorithm with random testing, standard genetic algorithm, and EvoSuite. Experiment results prove that our proposed approach can find the optimal test cases in less number of attempts (reduces computational cost). Besides that it can detect software bugs from suspiciously equivalent mutants and these mutants eventually get killed (increases mutation score).

33 citations