Search based software maintenance: Methods and tools

14Citations
Citations of this article
10Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Software evolution is an effort-prone activity, and requires developers to make complex and difficult decisions. This entails the development of automated approaches to support various software evolution-related tasks, for example aimed at suggesting refactoring or remodularization actions. Finding a solution to these problems is intrinsically NP-hard, and exhaustive approaches are not viable due to the size and complexity of many software projects. Therefore, during recent years, several software-evolution problems have been formulated as optimization problems, and resolved with meta-heuristics. This chapter overviews how search-based optimization techniques can support software engineers in a number of software evolution tasks. For each task, we illustrate how the problem can be encoded as a search-based optimization problem, and how meta-heuristics can be used to solve it. Where possible, we refer to some tools that can be used to deal with such tasks.

Cite

CITATION STYLE

APA

Bavota, G., Penta, M. D., & Oliveto, R. (2014). Search based software maintenance: Methods and tools. In Evolving Software Systems (pp. 103–137). Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-642-45398-4_4

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free