3 research outputs found

    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

    A qualitative-systematic analysis of the relationship between technical debt accumulation and users’ satisfaction throughout enterprise software packages operation

    Get PDF
    The operation and maintenance of enterprise software packages represents the most significant share of total investments in such initiatives, which may extend over years or decades. Throughout this period, the software package undergoes a variety of influences that limit its ability to adapt to emerging scenarios and makes the evaluation of long-term scenarios a non-trivial activity. This work investigates the relation between the technical debt accumulation, incurred during the operation and maintenance cycle, and the user satisfaction with these systems. The methodology employed consists of a qualitative-systematic analysis based on a literature review and a subset of Systems Dynamics tools. A systemic conceptualization of the interrelationship between technical debt and user satisfaction due to the influences caused during the software operation and maintenance cycle is presented. Based on this conceptualization, we discuss the casual relations and consequences of decisions relative to the maintenance of software packages in the satisfaction of its users. This work seeks to fill the gaps of previous studies, which addressed the costs and benefits obtained from maintenance activities in an aggregated way through statistical models, and to establish systemic discussion regarding the maintenance of commercial software packages and their long-term results

    Integration of software reliability into systems reliability optimization

    Get PDF
    Reliability optimization originally developed for hardware systems is extended to incorporate software into an integrated system reliability optimization. This hardware-software reliability optimization problem is formulated into a mixed-integer programming problem. The integer variables are the number of redundancies, while the real variables are the components reliabilities;To search a common framework under which hardware systems and software systems can be combined, a review and classification of existing software reliability models is conducted. A software redundancy model with common-cause failure is developed to represent the objective function. This model includes hardware redundancy with independent failure as a special case. A software reliability-cost function is then derived based on a binomial-type software reliability model to represent the constraint function;Two techniques, the combination of heuristic redundancy method with sequential search method, and the Lagrange multiplier method with the branch-and-bound method, are proposed to solve this mixed-integer reliability optimization problem. The relative merits of four major heuristic redundancy methods and two sequential search methods are investigated through a simulation study. The results indicate that the sequential search method is a dominating factor of the combination method. Comparison of the two proposed mixed-integer programming techniques is also studied by solving two numerical problems, a series system with linear constraints and a bridge system with nonlinear constraints. The Lagrange multiplier method with the branch-and-bound method has been shown to be superior to all other existing methods in obtaining the optimal solution;Finally an illustration is performed for integrating software reliability model into systems reliability optimization
    corecore