14 research outputs found

    Predicting Requirement Change Propagation Using Higher Order Design Structure Matrices: An Industry Case Study

    Get PDF
    This research examines higher order design structure matrices as requirements change modelling tools to predict requirement change propagation through two large-scale industry design projects. Due to the iterative nature of design, requirements will evolve and change. Changes in requirements can propagate to other requirements on different subsystems leading to possible increases in the project cost and lead-time. Predicting these requirement changes enables the designers to foresee unanticipated changes and maximises the probability for the project\u27s success. These studies reveal that second-order relationships are influential in predicting requirement change propagation. Unforeseen propagation occurring in first-order form was rare, rather it was occurring in second order. Modelling requirements change exposes these secondary relationships early in the engineering change (EC) definition process, thereby enhancing the decision-making process and augmenting cost estimation. A modelling tool, such as that proposed in this paper, can provide the designer insight into the requirements which may be affected before approving an EC

    The evolution of the laws of software evolution. A discussion based on a systematic literature review

    Get PDF
    After more than 40 years of life, software evolution should be considered as a mature field. However, despite such a long history, many research questions still remain open, and controversial studies about the validity of the laws of software evolution are common. During the first part of these 40 years the laws themselves evolved to adapt to changes in both the research and the software industry environments. This process of adaption to new paradigms, standards, and practices stopped about 15 years ago, when the laws were revised for the last time. However, most controversial studies have been raised during this latter period. Based on a systematic and comprehensive literature review, in this paper we describe how and when the laws, and the software evolution field, evolved. We also address the current state of affairs about the validity of the laws, how they are perceived by the research community, and the developments and challenges that are likely to occur in the coming years

    Comparative Analysis of Requirements Change Prediction Models: Manual, Linguistic, and Neural Network

    Get PDF
    Requirement change propagation, if not managed, may lead to monetary losses or project failure. The a posteriori tracking of requirement dependencies is a well-established practice in project and change management. The identification of these dependencies often requires manual input by one or more individuals with intimate knowledge of the project. Moreover, the definition of these dependencies that help to predict requirement change is not currently found in the literature. This paper presents two industry case studies of predicting system requirement change propagation through three approaches: manually, linguistically, and bag-of-words. Dependencies are manually and automatically developed between requirements from textual data and computationally processed to develop surrogate models to predict change. Two types of relationship generation, manual keyword selection and part-of-speech tagging, are compared. Artificial neural networks are used to create surrogate models to predict change. These approaches are evaluated on three connectedness metrics: shortest path, path count, and maximum flow rate. The results are given in terms of search depth needed within a requirements document to identify the subsequent changes. The semi-automated approach yielded the most accurate results, requiring a search depth of 11 %, but sacrifices on automation. The fully automated approach is able to predict requirement change within a search depth of 15 % and offers the benefits of full minimal human input

    Quantifying software architecture attributes

    Get PDF
    Software architecture holds the promise of advancing the state of the art in software engineering. The architecture is emerging as the focal point of many modem reuse/evolutionary paradigms, such as Product Line Engineering, Component Based Software Engineering, and COTS-based software development. The author focuses his research work on characterizing some properties of a software architecture. He tries to use software metrics to represent the error propagation probabilities, change propagation probabilities, and requirements change propagation probabilities of a software architecture. Error propagation probability reflects the probability that an error that arises in one component of the architecture will propagate to other components of the architecture at run-time. Change propagation probability reflects, for a given pair of components A and B, the probability that if A is changed in a corrective/perfective maintenance operation, B has to be changed to maintain the overall function the system. Requirements change propagation probability reflects the likelihood that a requirement change that arises in one component of the architecture propagates to other components. For each case, the author presents the analytical formulas which mainly based on statistical theory and empirical studies. Then the author studies the correlations between analytical results and empirical results. The author also uses several metrics to quantify the properties of a Product Line Architecture, such as scoping, variability, commonality, and applicability. He presents his proposed means to measure the properties and the results of the case studies

    Model-based risk assessment

    Get PDF
    In this research effort, we focus on model-based risk assessment. Risk assessment is essential in any plan intended to manage software development or maintenance process. Subjective techniques are human intensive and error-prone. Risk assessment should be based on architectural attributes that we can quantitatively measure using architectural level metrics. Software architectures are emerging as an important concept in the study and practice of software engineering nowadays, due to their emphasis on large-scale composition of software product, and to their support for emerging software engineering paradigms, such as product line engineering, component based software engineering, and software evolution.;In this dissertation, we generalize our earlier work on reliability-based risk assessment. We introduce error propagation probability in the assessment methodology to account for the dependency among the system components. Also, we generalize the reliability-based risk assessment to account for inherent functional dependencies.;Furthermore, we develop a generic framework for maintainability-based risk assessment which can accommodate different types of software maintenance. First, we introduce and define maintainability-based risk assessment for software architecture. Within our assessment framework, we investigate the maintainability-based risk for the components of the system, and the effect of performing the maintenance tasks on these components. We propose a methodology for estimating the maintainability-based risk when considering different types of maintenance. As a proof of concept, we apply the proposed methodology on several case studies. Moreover, we automate the estimation of the maintainability-based risk assessment methodology

    A strategic planning methodology for aircraft redesign

    Get PDF
    Due to a progressive market shift to a customer-driven environment, the influence of engineering changes on the product's market success is becoming more prominent. This situation affects many long lead-time product industries including aircraft manufacturing. Derivative development has been the key strategy for many aircraft manufacturers to survive the competitive market and this trend is expected to continue in the future. Within this environment of design adaptation and variation, the main market advantages are often gained by the fastest aircraft manufacturers to develop and produce their range of market offerings without any costly mistakes. This realization creates an emphasis on the efficiency of the redesign process, particularly on the handling of engineering changes. However, most activities involved in the redesign process are supported either inefficiently or not at all by the current design methods and tools, primarily because they have been mostly developed to improve original product development. In view of this, the main goal of this research is to propose an aircraft redesign methodology that will act as a decision-making aid for aircraft designers in the change implementation planning of derivative developments. The proposed method, known as Strategic Planning of Engineering Changes (SPEC), combines the key elements of the product redesign planning and change management processes. Its application is aimed at reducing the redesign risks of derivative aircraft development, improving the detection of possible change effects propagation, increasing the efficiency of the change implementation planning and also reducing the costs and the time delays due to the redesign process. To address these challenges, four research areas have been identified: baseline assessment, change propagation prediction, change impact analysis and change implementation planning. Based on the established requirements for the redesign planning process, several methods and tools that are identified within these research areas have been abstracted and adapted into the proposed SPEC method to meet the research goals. The proposed SPEC method is shown to be promising in improving the overall efficiency of the derivative aircraft planning process through two notional aircraft system redesign case studies that are presented in this study.Ph.D.Committee Chair: Prof. Dimitri Mavris; Committee Member: Dr. Elena Garcia; Committee Member: Dr. Neil Weston; Committee Member: Mathias Emeneth; Committee Member: Prof. Daniel P. Schrag

    Predicting change propagation using domain-based coupling

    Get PDF
    Most enterprise systems operate in domains where business rules and requirements frequently change. Managing the cost and impact of these changes has been a known challenge, and the software maintenance community has been tackling it for more than two decades. The traditional approach to impact analysis is by tracing dependencies in the design documents and the source code. More recently the software maintenance history has been exploited for impact analysis. The problem is that these approaches are difficult to implement for hybrid systems that consist of heterogeneous components. In today’s computer era, it is common to find systems of systems where each system was developed in a different language. In such environments, it is a challenge to estimate the change propagation between components that are developed in different languages. There is often no direct code dependency between these components, and they are maintained in different development environments by different developers. In addition, it is the domain experts and consultants who raise the most of the enhancement requests; however, using the existing change impact analysis methods, they cannot evaluate the impact and cost of the proposed changes without the support of the developers. This thesis seeks to address these problems by proposing a new approach to change impact analysis based on software domain-level information. This approach is based on the assumption that domain-level relationships are reflected in the software source code, and one can predict software dependencies and change propagation by exploiting software domain-level information. The proposed approach is independent of the software implementation, inexpensive to implement, and usable by domain experts with no requirement to access and analyse the source code. This thesis introduces domain-based coupling as a novel measure of the semantic similarity between software user interface components. The hypothesis is that the domain-based coupling between software components is correlated with the likelihood of the existence of dependencies and change propagation between these components. This hypothesis has been evaluated with two case studies: • A study of one of the largest open source enterprise systems demonstrates that architectural dependencies can be identified with an accuracy of more than 70% solely based on the domain-based coupling. • A study of 12 years’ maintenance history of the five subsystems of a significant sized proprietary enterprise system demonstrates that the co-change coupling derived from over 75,000 change records can be predicted solely using domain-based coupling, with average recall and precision of more than 60%, which is of comparable quality to other state-of-the-art change impact analysis methods. The results of these studies support our hypothesis that software dependencies and change propagation can be predicted solely from software domain-level information. Although the accuracy of such predictions are not sufficiently strong to completely replace the traditional dependency analysis methods; nevertheless, the presented results suggest that the domain-based coupling might be used as a complementary method or where analysis of dependencies in the code and documents is not a viable option
    corecore