23 research outputs found

    Search Based Software Project Management

    Get PDF
    This thesis investigates the application of Search Based Software Engineering (SBSE) approach in the field of Software Project Management (SPM). With SBSE approaches, a pool of candidate solutions to an SPM problem is automatically generated and gradually evolved to be increasingly more desirable. The thesis is motivated by the observation from industrial practice that it is much more helpful to the project manager to provide insightful knowledge than exact solutions. We investigate whether SBSE approaches can aid the project managers in decision making by not only providing them with desirable solutions, but also illustrating insightful “what-if” scenarios during the phases of project initiation, planning and enactment. SBSE techniques can automatically “evolve” solutions to software requirement elicitation, project staffing and scheduling problems. However, the current state-of- the-art computer-aided software project management tools remain limited in several aspects. First, software requirement engineering is plagued by problems associated with unreliable estimates. The estimations made early are assumed to be accurate, but the projects are estimated and executed in an environment filled with uncertainties that may lead to delay or disruptions. Second, software project scheduling and staffing are two closely related problems that have been studied separately by most published research in the field of computer aided software project management, but software project managers are usually confronted with the complex trade-off and correlations of scheduling and staffing. Last, full attendance of required staff is usually assumed after the staff have been assigned to the project, but the execution of a project is subject to staff absences because of sickness and turnover, for example. This thesis makes the following main contributions: (1) Introducing an automated SBSE approach to Sensitivity Analysis for requirement elicitation, which helps to achieve more accurate estimations by directing extra estimation effort towards those error-sensitive requirements and budgets. (2) Demonstrating that Co-evolutionary approaches can simultaneously co-evolve solutions for both work package sequencing and project team sizing. The proposed approach to these two interrelated problems yields better results than random and single-population evolutionary algorithms. (3) Presenting co-evolutionary approaches that can guide the project manager to anticipate and ameliorate the impact of staff absence. (4) The investigations of seven sets of real world data on software requirement and software project plans reveal general insights as well as exceptions of our approach in practise. (5) The establishment of a tool that implements the above concepts. These contributions support the thesis that automated SBSE tools can be beneficial to solution generation, and most importantly, insightful knowledge for decision making in the practise of software project management

    Benchmarking and comparison of software project human resource allocation optimization approaches

    Get PDF
    For the Staffing and Scheduling a Software Project (SSSP), one has to find an allocation of resources to tasks while considering parameters such skills and availability to identify the optimal delivery of the project. Many approaches have been proposed that solve SSSP tasks by representing them as optimization problems and applying optimization techniques and heuristics. However, these approaches tend to vary in the parameters they consider, such as skill and availability, as well as the optimization techniques, which means their accuracy, performance, and applicability can vastly differ, making it difficult to select the most suitable approach for the problem at hand. The fundamental reason for this lack of comparative material lies in the absence of a systematic evaluation method that uses a validation dataset to benchmark SSSP approaches. We introduce an evaluation process for SSSP approaches together with benchmark data to address this problem. In addition, we present the initial evaluation of five SSSP approaches. The results shows that SSSP approaches solving identical challenges can differ in their computational time, preciseness of results and that our approach is capable of quantifying these differences. In addition, the results highlight that focused approaches generally outperform more sophisticated approaches for identical SSSP problems

    Less is more: Temporal fault predictive performance over multiple Hadoop releases

    Get PDF
    We investigate search based fault prediction over time based on 8 consecutive Hadoop versions, aiming to analyse the impact of chronology on fault prediction performance. Our results confound the assumption, implicit in previous work, that additional information from historical versions improves prediction; though G-mean tends to improve, Recall can be reduced

    Genetic Improvement of Software: a Comprehensive Survey

    Get PDF
    Genetic improvement (GI) uses automated search to find improved versions of existing software. We present a comprehensive survey of this nascent field of research with a focus on the core papers in the area published between 1995 and 2015. We identified core publications including empirical studies, 96% of which use evolutionary algorithms (genetic programming in particular). Although we can trace the foundations of GI back to the origins of computer science itself, our analysis reveals a significant upsurge in activity since 2012. GI has resulted in dramatic performance improvements for a diverse set of properties such as execution time, energy and memory consumption, as well as results for fixing and extending existing system functionality. Moreover, we present examples of research work that lies on the boundary between GI and other areas, such as program transformation, approximate computing, and software repair, with the intention of encouraging further exchange of ideas between researchers in these fields

    Multi-Objective Software Effort Estimation: A Replication Study

    Get PDF
    Replication studies increase our confidence in previous results when the findings are similar each time, and help mature our knowledge by addressing both internal and external validity aspects. However, these studies are still rare in certain software engineering fields. In this paper, we replicate and extend a previous study, which denotes the current state-of-the-art for multi-objective software effort estimation, namely CoGEE. We investigate the original research questions with an independent implementation and the inclusion of a more robust baseline (LP4EE), carried out by the first author, who was not involved in the original study. Through this replication, we strengthen both the internal and external validity of the original study. We also answer two new research questions investigating the effectiveness of CoGEE by using four additional evolutionary algorithms (i.e., IBEA, MOCell, NSGA-III, SPEA2) and a well-known Java framework for evolutionary computation, namely JMetal (rather than the previously used R software), which allows us to strengthen the external validity of the original study. The results of our replication confirm that: (1) CoGEE outperforms both baseline and state-of-the-art benchmarks statistically significantly (p < 0:001); (2) CoGEE’s multi-objective nature makes it able to reach such a good performance; (3) CoGEE’s estimation errors lie within claimed industrial human-expert-based thresholds. Moreover, our new results show that the effectiveness of CoGEE is generally not limited to nor dependent on the choice of the multi-objective algorithm. Using CoGEE with either NSGA-II, NSGA-III, or MOCell produces human competitive results in less than a minute. The Java version of CoGEE has decreased the running time by over 99.8% with respect to its R counterpart. We have made publicly available the Java code of CoGEE to ease its adoption, as well as, the data used in this study in order to allow for future replication and extension of our work

    The use of search-based optimization techniques to schedule and staff software projects: an approach and an empirical study

    Full text link
    Allocating resources to a software project and assigning tasks to teams constitute crucial activities that affect project cost and completion time. Finding a solution for such a problem is NP-hard; this requires managers to be supported by proper tools in performing such an allocation. This paper shows how search-based optimization techniques can be combined with a queuing simulation model to address these problems. The obtained staff and task allocations aim to minimize the completion time and reduce schedule fragmentation. The proposed approach allows project managers to run multiple simulations, compare results and consider trade-offs between increasing the staffing level and anticipating the project completion date and between reducing the fragmentation and accepting project delays. The paper presents results from the application of the proposed search-based project planning approach to data obtained from two large scale commercial software maintenance projects

    A comparative study of the relative performance and real-world suitability of optimization approaches for Human Resource Allocation

    Get PDF
    The problem of Staffing and Scheduling a Software Project (SSSP), where we consider Human Resource Allocation (HRA) to minimize project time, offers a management challenge for Project Managers (PM’s). Unlike the general HRA problem, SSSP involves determination of the assignment of a fixed amount of resources to teams and the allocation of these teams to project’s jobs. SSSP problem arises across a diverse range of resources’ and project characteristics (discrete variables), and this variety has offered a wide range of HRA methods. The general consensus is that the benchmark for SSSP are Meta-heuristic optimization techniques using deterministic or stochastic simulation of time. However, different HRA methods and project attributes are considered by SSSP approaches, and their solutions need to be compared against each other. The majority of SSSP approaches provide their approximation using Genetic Algorithm (GA) validated by a synthetic data or empirical method such as Quasi-experiment. Limited studies offer the comparison between these SSSP approaches, either by a comprehensive survey or systematic literature review for qualitative concepts. We aim to answer a set of research questions including: what is the best way to show the quality and performance differences between SSSP approaches? And, are these SSSP approaches suitable for industrial adoption? Our thesis is that the best methodology is to identify according to the conceptual models used by the approaches a set of challenging data levels. In support of our thesis, we propose a systematic benchmarking and evaluation approach that encompass the data levels, and a set of quality measures. Next, we propose an empirical study that assess how PMs from software industry perform the allocation given the same datasets. The results of both works demonstrate significant differences between the approaches, highlighted four methods that advances the research filed, and provide interesting discussion on the PMs’ practices on SSSP
    corecore