2,666 research outputs found

    Defect Inflow Prediction in Large Software Projects

    Get PDF

    Ways of Applying Artificial Intelligence in Software Engineering

    Full text link
    As Artificial Intelligence (AI) techniques have become more powerful and easier to use they are increasingly deployed as key components of modern software systems. While this enables new functionality and often allows better adaptation to user needs it also creates additional problems for software engineers and exposes companies to new risks. Some work has been done to better understand the interaction between Software Engineering and AI but we lack methods to classify ways of applying AI in software systems and to analyse and understand the risks this poses. Only by doing so can we devise tools and solutions to help mitigate them. This paper presents the AI in SE Application Levels (AI-SEAL) taxonomy that categorises applications according to their point of AI application, the type of AI technology used and the automation level allowed. We show the usefulness of this taxonomy by classifying 15 papers from previous editions of the RAISE workshop. Results show that the taxonomy allows classification of distinct AI applications and provides insights concerning the risks associated with them. We argue that this will be important for companies in deciding how to apply AI in their software applications and to create strategies for its use

    A FRAMEWORK FOR SOFTWARE RELIABILITY MANAGEMENT BASED ON THE SOFTWARE DEVELOPMENT PROFILE MODEL

    Get PDF
    Recent empirical studies of software have shown a strong correlation between change history of files and their fault-proneness. Statistical data analysis techniques, such as regression analysis, have been applied to validate this finding. While these regression-based models show a correlation between selected software attributes and defect-proneness, in most cases, they are inadequate in terms of demonstrating causality. For this reason, we introduce the Software Development Profile Model (SDPM) as a causal model for identifying defect-prone software artifacts based on their change history and software development activities. The SDPM is based on the assumption that human error during software development is the sole cause for defects leading to software failures. The SDPM assumes that when a software construct is touched, it has a chance to become defective. Software development activities such as inspection, testing, and rework further affect the remaining number of software defects. Under this assumption, the SDPM estimates the defect content of software artifacts based on software change history and software development activities. SDPM is an improvement over existing defect estimation models because it not only uses evidence from current project to estimate defect content, it also allows software managers to manage software projects quantitatively by making risk informed decisions early in software development life cycle. We apply the SDPM in several real life software development projects, showing how it is used and analyzing its accuracy in predicting defect-prone files and compare the results with the Poisson regression model

    Wastewater Pipe Condition and Deterioration Modeling for Risk-Based Decision-Making

    Get PDF
    The dissertation research work described here has four primary objectives: (1) the development of a comprehensive wastewater pipe condition rating model that incorporates a large number of environmental, structural, and hydraulic parameters of the pipe; (2) the development of a wastewater pipe deterioration model used to predict future overall condition states of the pipe, as well as determining the probability of failure at any given age of the pipe; (3) the development of a comprehensive consequence of failure model that assesses the consequence of wastewater pipe failure using economic, social, and environmental cost factors; and (4) the development of a proposed risk-based decisionmaking framework that combines the probability of failure with the consequence of failure to determine the wastewater pipe’s risk of failure for rehabilitation and/or renewal decision-making purposes. The industry-accepted protocol for condition rating of sewer pipes in the U.S. is the Pipeline Assessment and Certification Program (PACP) developed by the National Association of Sewer Service Companies (NASSCO, 2001). The PACP method relies exclusively on visual inspections performed by means of Closed-Circuit Television (CCTV) where existing structural and operation and maintenance (O&M) defects are observed by certified operators. A limitation of the PACP method is that it does not use pipe characteristics, depth, soil type, surface conditions, pipe criticality and capacity, nor the distribution of structural defects, or history of preventative maintenance to determine the condition rating of the sewer pipe segment. Therefore, this research work addresses this limitation and develops a condition rating model that incorporates information about pipe characteristics, environmental parameters, as well information about structural and O&M defects, and hydraulic factors. Factors such as pipe material, diameter, shape, pipe material’s age, soil type, depth of burial, type of carried waste, seismic zone, loading, groundwater, flow, inflow, and pipe surcharge are used. As part of an asset management program, the ability to predict future sewer pipe conditions and potential failures is vital for capital improvement planning and budgeting. The deterioration model developed herein is unique in that it uses a Continuous Time Markov Chain method, as opposed to the widely used Discrete Time Markov Chain methods in the literature, to determine probabilities of transitioning from a better to a worse condition at any given age of the pipe. To obtain a complete risk-based decision-making framework, the probability of failure is combined with the consequence of failure of the pipe to determine its risk of failure. The developed consequence of failure model incorporates a large number of economic, social, and environmental cost factors to determine the consequence of failure of the asset. Among the factors considered in the assessment of the consequence of failure are the pipe age, diameter, length, depth of burial, access to pipe, distance to critical laterals, soil type, seismic zone, distance to critical laterals, average daily traffic, proximity to other infrastructure, distance to bodies of water, and land use. Combined with the probability of failure, it results in the pipe’ risk of failure. The obtained information is useful for future capital project planning and improvement budgeting

    Rotorcraft technology at Boeing Vertol: Recent advances

    Get PDF
    An overview is presented of key accomplishments in the rotorcraft development at Boeing Vertol. Projects of particular significance: high speed rotor development and the Model 360 Advanced Technology Helicopter. Areas addressed in the overview are: advanced rotors with reduced noise and vibration, 3-D aerodynamic modeling, flight control and avionics, active control, automated diagnostics and prognostics, composite structures, and drive systems

    From Bugs to Decision Support – Leveraging Historical Issue Reports in Software Evolution

    Get PDF
    Software developers in large projects work in complex information landscapes and staying on top of all relevant software artifacts is an acknowledged challenge. As software systems often evolve over many years, a large number of issue reports is typically managed during the lifetime of a system, representing the units of work needed for its improvement, e.g., defects to fix, requested features, or missing documentation. Efficient management of incoming issue reports requires the successful navigation of the information landscape of a project. In this thesis, we address two tasks involved in issue management: Issue Assignment (IA) and Change Impact Analysis (CIA). IA is the early task of allocating an issue report to a development team, and CIA is the subsequent activity of identifying how source code changes affect the existing software artifacts. While IA is fundamental in all large software projects, CIA is particularly important to safety-critical development. Our solution approach, grounded on surveys of industry practice as well as scientific literature, is to support navigation by combining information retrieval and machine learning into Recommendation Systems for Software Engineering (RSSE). While the sheer number of incoming issue reports might challenge the overview of a human developer, our techniques instead benefit from the availability of ever-growing training data. We leverage the volume of issue reports to develop accurate decision support for software evolution. We evaluate our proposals both by deploying an RSSE in two development teams, and by simulation scenarios, i.e., we assess the correctness of the RSSEs' output when replaying the historical inflow of issue reports. In total, more than 60,000 historical issue reports are involved in our studies, originating from the evolution of five proprietary systems for two companies. Our results show that RSSEs for both IA and CIA can help developers navigate large software projects, in terms of locating development teams and software artifacts. Finally, we discuss how to support the transfer of our results to industry, focusing on addressing the context dependency of our tool support by systematically tuning parameters to a specific operational setting

    Optimal Release Time: Numbers or Intuition?

    Get PDF
    Despite the exponential increase in the demand for software and the increase in our dependence on software, many software manufacturers behave in an unpredictable manner. In such an unpredictable software manufacturer organization, it is difficult to determine the optimal release time. An economic model is presented supporting the evaluation and comparison of different release or market entry alternatives. This model requires information with respect to achieved reliability and maintainability. Existing literature reveals many models to estimate reliability and limited models to estimate maintainability. The practicality of most available models is however criticized. A series of case studies confirmed that software manufacturers struggle with determining the reliability and maintainability of their products prior to releasing them. This leads to a combination of non-analytical methods to decide when a software product is good enough for release: intuition prevails where sharing convincing information is required. Next research steps are put forward to investigate ways increasing the economic reasoning about the optimal release time
    • …
    corecore