Skip to main content
Article thumbnail
Location of Repository

Automatic software generation and improvement through search based techniques

By Andrea Arcuri


Writing software is a difficult and expensive task. Its automation is hence very valuable. Search algorithms have been successfully used to tackle many software engineering problems. Unfortunately, for some problems the traditional techniques have been of only limited scope, and search algorithms have not been used yet. We hence propose a novel framework that is based on a co-evolution of programs and test cases to tackle these difficult problems. This framework can be used to tackle software engineering tasks such as Automatic Refinement, Fault Correction and Improving Non-functional Criteria. These tasks are very difficult, and their automation in literature has been limited. To get a better understanding of how search algorithms work, there is the need of a theoretical foundation. That would help to get better insight of search based software engineering. We provide first theoretical analyses for search based software testing, which is one of the main components of our co-evolutionary framework. This thesis gives the important contribution of presenting a novel framework, and we then study its application to three difficult software engineering problems. In this thesis we also give the important contribution of defining a first theoretical foundation

Topics: QA75 Electronic computers. Computer science, QA76 Computer software
Year: 2009
OAI identifier:

Suggested articles


  1. (2008). A novel co-evolutionary approach to automatic software bug fixing. doi
  2. (2007). Coevolving programs and unit tests from their specification.
  3. (2009). Full theoretical runtime analysis of alternating variable method on the triangle classification problem. doi
  4. (2009). Insight knowledge in search based software testing. doi
  5. (2008). Multi-objective improvement of software using co-evolution and smart seeding.
  6. (2009). On search based software evolution. doi
  7. (2008). On the automation of fixing software bugs.
  8. (2008). Search based software testing of object-oriented containers. doi
  9. (2009). Theoretical analysis of local search in software testing. In doi
  10. (2008). Theoretical runtime analyses of search algorithms on the test data generation for the triangle classification problem. doi

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.