## Software Next Release Planning Approach through Exact Optimization

### BibTeX

@MISC{Freitas_softwarenext,

author = {Fabrício G. Freitas and Daniel P. Coutinho and Jerffeson T. Souza},

title = {Software Next Release Planning Approach through Exact Optimization},

year = {}

}

### OpenURL

### Abstract

The Software Requirements phase has notable importance, since it is responsible for the definition of the system itself. Several customers indicate which functionalities they want to be present in the software. However, constraints, such as budget, make it impossible to implement all desired requirements at once. One activity in this context is the release planning. The selection of which requirements should be implemented to the next release is necessary. In literature, metaheuristics have been employed to solve this problem. The objective of this work is to propose the use of exact optimization techniques in the problem, with the advantage that the resolution through these techniques ensures the best solutions. The results in several experiments show the validity of such application, in comparison with the metaheuristics approach.

### Citations

229 |
Future paths for integer programming and links to artificial intelligence
- Glover
- 1986
(Show Context)
Citation Context ... use by the next version. The mathematical formulation of mono-objective NRP is as follows: m max w X (1) i 1 i i Fig 1: NRP illustrative example. 4. METHODS 4.1 Metaheuristics The term metaheuristic =-=[10]-=- represents a class of generic search algorithms. These methods use ideas from various fields as inspiration to the process of trying to solve optimization problems. Metaheuristics approaches attempt ... |

170 | An automatic method of solving discrete programming problems
- Land, Doig
- 1960
(Show Context)
Citation Context ...g. A resolution by random approach was also performed. The resolution in exact optimization was performed, as the problem tackled in this paper is of integer programming, with Branch-and-Bound method =-=[15]-=-. Resolution by humans subjects were also carried out in order to validate the better result for the problem are found by the automated technique. The solutions of the experts were collected on forms ... |

64 | Search-based software engineering
- Harman, Jones
- 2001
(Show Context)
Citation Context ...new approach to software engineering, know as Search based Software Engineering (SBSE), researchers and experts have intensified the modeling of Software Engineering problems as optimization problems =-=[9]-=-. The requirements engineering is a stage in which the software itself is defined, and therefore the activities performed at this point have an impact on all phases of development. Due to budget const... |

46 |
Automatic Generation of Floating-Point Test Data
- Miller, Spooner
- 1976
(Show Context)
Citation Context ...ints, is an automated optimization approach [7]. The first step in this direction in software engineering was in 1976, where the problem of generating test data was attacked by numerical maximization =-=[8]-=-. Since 2001, however, this new approach to software engineering, know as Search based Software Engineering (SBSE), researchers and experts have intensified the modeling of Software Engineering proble... |

39 |
Optimization by simulated annealing, Science
- Kirkpatrick, Gelatt, et al.
- 1983
(Show Context)
Citation Context ...olutions, but there is no guarantee that the best solution is returned. The following are summary on the mono-objective metaheuristics used. Simulated Annealing: The metaheuristic Simulated Annealing =-=[11]-=- is based on a physical process that occurs in the metals metallurgy. In the tempering process, a material is heated to high temperatures and, thereafter, is cooled so that at the end of the process t... |

37 | Pareto Efficient Multi-Objective Test Case Selection
- Yoo, Harman
- 2007
(Show Context)
Citation Context ... could not be guaranteed. This paper proposes the resolution of the problem through exact techniques. We aim to find better solutions to the software development process, which is crucial to the area =-=[4]-=-. The research questions to be investigated are: • Exact Optimization Applicability: Can exact techniques be applied to the problems? • Exact Optimization Efficiency: Is exact optimization execution t... |

35 |
The next release problem
- Bagnall, Rayward-Smith, et al.
(Show Context)
Citation Context ...e problems efficiently. One important area in the software development process is the requirements engineering. This phase contains problems of high complexity, such as the Next Release Problem (NRP) =-=[3]-=-. This problem concerns on defining which requirements should be implemented for the next version of the system, according to customer satisfaction and budget constraints. Metaheuristics have been use... |

31 |
Search based software engineering
- Harman, Jones
- 2001
(Show Context)
Citation Context ...finition of the best set of solutions in the instances used. 3. SEARCH BASED SOFTWARE ENGINEERING Software Engineering, as an engineering discipline, is a field with mathematical aspects and problems =-=[6]-=-. Additionally, as any engineering field, there are scenarios to optimize. An efficient way to solve this kind of problem, usually with 1International Journal of Computer Applications (0975 – 8887) V... |

18 | The multi-objective next release problem
- Zhang, Harman, et al.
- 2007
(Show Context)
Citation Context ...ndicating a cross-disciplinary approach. The NRP was revisited in 2007, and a multiobjective formulation of maximization of customers’ satisfaction and minimization of the implementing cost was taken =-=[5]-=-. In the paper, the customers’ satisfaction function considers not only the importance of each client, but also the importance level that each customer has for each requirement. Multiobjective metaheu... |

12 | An Empirical Investigation of the Key Factors for Success in Software Process Improvement
- Dyba
- 2005
(Show Context)
Citation Context ...engineering plays an important role in the development of quality systems. Through decades of research, models and methodologies have been defined in order to support the software development process =-=[1]-=-, considering that the final product quality is strongly related to the quality of the development process [2]. Unfortunately, such methodologies may not be appropriate to solve some software developm... |

6 |
Software process: A roadmap”. In The Future
- Fuggetta
- 2000
(Show Context)
Citation Context ... and methodologies have been defined in order to support the software development process [1], considering that the final product quality is strongly related to the quality of the development process =-=[2]-=-. Unfortunately, such methodologies may not be appropriate to solve some software development problems, mainly in inherently complex problems. In those cases, automated methods should be used in order... |

4 |
The human competitiveness of search based software engineering
- Souza, Maia, et al.
- 2010
(Show Context)
Citation Context ... the experts were collected on forms specifically design for the task. In total, 21 people solved both NRP-A. In instances NRP-B the number of participants reached 13 software engineering specialists =-=[16]-=-. For the other instances of the problems the resolution was not carried out by specialists, because of the high complexity of such instances. The analysis presented next was based on the average valu... |

3 |
et al. Reformulating software engineering as a search problem
- Clarke, Dolado, et al.
(Show Context)
Citation Context ...his kind of problem, usually with 1International Journal of Computer Applications (0975 – 8887) Volume 22– No.8, May 2011 structural complexity and constraints, is an automated optimization approach =-=[7]-=-. The first step in this direction in software engineering was in 1976, where the problem of generating test data was attacked by numerical maximization [8]. Since 2001, however, this new approach to ... |

3 |
Inductive proof of the simplex method
- Dantzig
- 1960
(Show Context)
Citation Context ...on The exact techniques are methods that use mathematical operations in order to solve the problem. The most known method for problems with linear both functions and constraints is the simplex method =-=[13]-=-. This method uses the formulation of the problem in matrix form, and applies matrix mathematical operations to achieve the global optimum, if any. The method is based on the geometric representation ... |

1 |
Easymeta: a framework of metaheuristics for mono-Objective optimization problems
- L, Souza
- 2008
(Show Context)
Citation Context ...975 – 8887) Volume 22– No.8, May 2011 Fig 3: Instance NRP-B, with 20 clients and 40 interdependent requirements. 5.2 Resolution The resolution by metaheuristic is carried out with frameworks EasyMeta =-=[14]-=- for the mono-objective problem. The framework is implemented in JAVA language, and implements several metaheuristics algorithms. Since metaheuristic algorithms are non-deterministic, one execution is... |