Fig 1 - uploaded by Mustafa Assaf
Content may be subject to copyright.
Chromosome Structure. 

Chromosome Structure. 

Source publication
Conference Paper
Full-text available
In software development projects, bugs are usually accumulated and technical debt gets bigger over time. Managers decide to reduce the technical debt by planning one or more iterations for bug fixing. The time required to fix a bug depends on the required skill and the resource skill level. Managers seek to achieve fixing the highest number of bugs...

Context in source publication

Context 1
... binary solution is used to represent a bug distribution plan. It consists of a number of binary genes representing bugs to be fixed in the iteration as shown in Figure 1. Each Chromosome contains n bugs (genes) and each gene consists of m bits representing the developer id, in addition to 5 bits as a sequence number. ...

Similar publications

Conference Paper
Full-text available
The Release Planning (RP) is an important step in the iterative and incremental software development, because it involves deciding which requirements will be allocated in each release of the system. Recently, proposals based on the fusion of the concepts of Search Based Software Engineering and Interactive Optimization have been proposed to tackle...
Article
Full-text available
Flexible nature of scope definition in agile makes it difficult or impossible to measure its quality and completeness. The aim of this paper is to highlight the important ingredients of scope definition for agile projects and to present a method in order to measure the quality and completeness of their scope definitions. The proposed method conside...

Citations

... In this study, the parameters were defined based on similar works carried out identified in the literature that had consistent results. The choice of the crossover and mutation parameters based on the works presented in [14], [16], [6], [15], and [18]. In the simulation, the parameters maximum number of generations and the population size varied according to the experiment of the study. ...
Chapter
It is essential for the success of a project to put together teams that meet the project requirements with lower cost and higher quality. Given this context, the present study developed a tool called ATIMO that uses the optimization algorithms NSGAII, SPEA2, and MOCell, to put agile teams together. The algorithms implemented in ATIMO were tested by being applied to four real projects in an experiment performed by a software development company. This approach took into account the project features, the developers’ profile, and both the project and the organization constraints. As a result, the algorithms returned solutions with the number of resources needed to carry out the project as well as the best qualified resources for the project with productivity and lower cost to meet the established deadline. The algorithms NSGAII, and SPEA2 presented similar results and behavior, as the MOCell algorithm presented a better performance in computational effort and required a larger population for its saturation.
... Ao contrário de Zhang (2010) que utilizou um método subjetivo de pontuação para definir os requisitos dos cargos considerados no experimento, o presente trabalho considerou uma escala de um a nove para o nível do conhecimento exigido para estes cargos. Khalil et al. (2017) [19] adotaram abordagem meta-heurística baseada em pesquisa para a alocação de recursos humanos para o planejamento de iteração de correção de bugs, em processos ágeis. Levaram em conta a gravidade do bug, a prioridade, o nível de habilidade requerido, além do nível de habilidade do desenvolvedor, escolhas mais complicadas para um gerente que planeja tal iteração. ...
... Ao contrário de Zhang (2010) que utilizou um método subjetivo de pontuação para definir os requisitos dos cargos considerados no experimento, o presente trabalho considerou uma escala de um a nove para o nível do conhecimento exigido para estes cargos. Khalil et al. (2017) [19] adotaram abordagem meta-heurística baseada em pesquisa para a alocação de recursos humanos para o planejamento de iteração de correção de bugs, em processos ágeis. Levaram em conta a gravidade do bug, a prioridade, o nível de habilidade requerido, além do nível de habilidade do desenvolvedor, escolhas mais complicadas para um gerente que planeja tal iteração. ...
... Neste estudo, os parâmetros foram definidos com base em trabalhos similares realizados identificados na literatura, que tiveram resultados consistentes. A escolha dos parâmetros de mutação e cruzamento baseou-se nos trabalhos apresentados em [19], [7], [3], [20] e [26]. Na simulação, os parâmetros número máximo de gerações e o tamanho da população variou conforme o experimento de estudo. ...
Conference Paper
Ensuring that the team meets project requirements is essential to ensure the software quality available in the market and the success of the project. In this context, this study evaluated three algorithms for optimizing software engineering problems: NSGAII, SPEA2 and MOCell, in order to support project managers in the composition of agile software development teams. These algorithms were tested in an experiment carried out in a software development company and evaluated in four projects recently executed by the company. The approach considered the characteristics of the project activities, available human resources, human resource profile, project constraints (scope and time for execution) and constraints established by the organization. The algorithms returned solutions with the number of resources needed to carry out the project, as well as resources such as more project qualification, lower cost, and productivity adequate for the term established by the client. The results showed that the three algorithms evaluated presented consistent performances. The NSGAII and SPEA2 had very similar results and behavior, whereas the MOCell presented a better performance in the computational effort and needed a larger population for its saturation.
... Also related to bug fixing, the automated assignment of bugs to developers has been recently studied ( Khalil et al., 2017 ). Two different formulations with three and four objectives are proposed here, measuring the number of fixed bugs (total, severe and highpriority) and the time left to fix the remaining bugs. ...
... It is also interesting to note that some studies reflect opposite opinions regarding the benefits of increasing the number of objectives. For instance, adding objectives has demonstrated to generate harder test cases ( Kalboussi et al., 2013 ) and more variety of bug fixing assignments without demoting overall quality ( Khalil et al., 2017 ). In contrast, effort estimation ( Sarro et al., 2012 ) and software modularisation ( Barros, 2012 ) seem to work better with fewer objectives. ...
Article
Full-text available
Search-based software engineering (SBSE) is changing the way traditional software engineering (SE) activities are carried out by reformulating them as optimisation problems. The natural evolution of SBSE is bringing new challenges, such as the need of a large number of objectives to formally represent the many decision criteria involved in the resolution of SE tasks. This suggests that SBSE is moving towards many-objective optimisation, an emerging area that provides advanced techniques to cope with high-dimensional optimisation problems. To analyse this phenomenon, this paper surveys relevant SBSE literature focused on the resolution of many-objective problems. From the gathered knowledge, current limitations regarding problem formulation, algorithm selection, experimental design and industrial applicability are discussed. Through the analysis of observed trends, this survey provides a historical perspective and future lines of research concerning the adoption of many-objective optimisation within SBSE.
Article
Bug‐assignment (BA), the task of ranking developers in terms of the relevance of their expertise to fix a new bug report is time consuming, which is why substantial attention has been paid to developing methods for automating it. In this article, we describe a new BA approach that relies on two key intuitions. Similar to traditional BA methods, our method constructs the expertise profile of project developers, based on the textual elements of the bugs they have fixed in the past; unlike traditional methods, however, our method considers only the programming keywords in these bug descriptions, relying on Stack Overflow as the vocabulary for these keywords. The second key intuition of our method is that recent expertise is more relevant than past expertise, which is why our method weighs the relevance of a developer's expertise based on how recently they have fixed a bug with keywords similar to the bug at hand. We evaluated our BA method using a dataset of 93k bug‐report assignments from 13 popular GitHub projects. In spite of its simplicity, our method predicts the assignee with high accuracy, outperforming state‐of‐the‐art methods.
Article
Bug assignment is the task of ranking candidate developers in terms of their potential competence to fix a bug report. Numerous methods have been developed to address this task, relying on different methodological assumptions and demonstrating their effectiveness with a variety of empirical studies with numerous data sets and evaluation criteria. Despite the importance of the subject and the attention it has received from researchers, there is still no unanimity on how to validate and comparatively evaluate bug‐assignment methods and, often times, methods reported in the literature are not reproducible. In this paper, we first report on our systematic review of the broad bug‐assignment research field. Next, we focus on a few key empirical studies and review their choices with respect to three important experimental‐design parameters, namely, the evaluation metric(s) they report, their definition of who the real assignee is, and the community of developers they consider as candidate assignees. The substantial variability on these criteria led us to formulate a systematic experiment to explore the impact of these choices. We conducted our experiment on a comprehensive data set of bugs we collected from 13 long‐term open‐source projects, using a simple Tf‐IDf similarity metric. On the basis of our arguments and/or experiments, we provide useful guidelines for performing further bug‐assignment research. We conclude that mean average precision (MAP) is the most informative evaluation metric, the developer community should be defined as “all the project members,” and the real assignee should be defined as “any developer who worked toward fixing a bug.”