385,054 research outputs found

    System and Software Requirements in Relation to Observability and Explainability

    Get PDF
    Software maintenance and evolution are crucial aspects of software development. In today's world, observability and explainability are becoming essential requirements for software systems. This research paper investigates the relationship between software maintenance and evolution with observability and explainability. The paper explores the importance of observability and explainability in software systems and how they impact the maintenance and evolution of software systems. The research paper presents various techniques and tools for achieving observability and explainability in software systems. The paper also highlights the challenges and future research directions in the field of software maintenance and evolution in relation to observability and explainability

    Architectural reflection for software evolution

    Get PDF
    Software evolution is expensive. Lehman identifies several problems associated with it: Continuous adaptation, increasing complexity, continuing growth, and declining quality. This paper proposes that a reflective software engineering environment will address these problems by employing languages and techniques from the software architecture community. Creating a software system will involve manipulating a collection of views, including low-level code views and high-level architectural views which will be tied together using reflection. This coupling will allow the development environment to automatically identify inconsistencies between the views, and support software engineers in managing architectures during evolution. This paper proposes a research programme which will result in a software engineering environment which addresses problems of software evolution and the maintenance of consistency between architectural views of a software system

    Software evolution prediction using seasonal time analysis: a comparative study

    Get PDF
    Prediction models of software change requests are useful for supporting rational and timely resource allocation to the evolution process. In this paper we use a time series forecasting model to predict software maintenance and evolution requests in an open source software project (Eclipse), as an example of projects with seasonal release cycles. We build an ARIMA model based on data collected from Eclipse’s change request tracking system since the project’s start. A change request may refer to defects found in the software, but also to suggested improvements in the system under scrutiny. Our model includes the identification of seasonal patterns and tendencies, and is validated through the forecast of the change requests evolution for the next 12 months. The usage of seasonal information significantly improves the estimation ability of this model, when compared to other ARIMA models found in the literature, and does so for a much longer estimation period. Being able to accurately forecast the change requests’ evolution over a fairly long time period is an important ability for enabling adequate process control in maintenance activities, and facilitates effort estimation and timely resources allocation. The approach presented in this paper is suitable for projects with a relatively long history, as the model building process relies on historic data

    The Co-Evolution of Test Maintenance and Code Maintenance through the lens of Fine-Grained Semantic Changes

    Full text link
    Automatic testing is a widely adopted technique for improving software quality. Software developers add, remove and update test methods and test classes as part of the software development process as well as during the evolution phase, following the initial release. In this work we conduct a large scale study of 61 popular open source projects and report the relationships we have established between test maintenance, production code maintenance, and semantic changes (e.g, statement added, method removed, etc.). performed in developers' commits. We build predictive models, and show that the number of tests in a software project can be well predicted by employing code maintenance profiles (i.e., how many commits were performed in each of the maintenance activities: corrective, perfective, adaptive). Our findings also reveal that more often than not, developers perform code fixes without performing complementary test maintenance in the same commit (e.g., update an existing test or add a new one). When developers do perform test maintenance, it is likely to be affected by the semantic changes they perform as part of their commit. Our work is based on studying 61 popular open source projects, comprised of over 240,000 commits consisting of over 16,000,000 semantic change type instances, performed by over 4,000 software engineers.Comment: postprint, ICSME 201

    A multiprocess quality model: identification of of key processes in the integration approach

    Get PDF
    In this paper we investigate the use of multiprocess quality model in the adoption of process improvement frameworks. We analyze an improvement effort based on multiple process quality models adoption. At present, there is a possibility of a software development organization to adopt multi-quality and improvement models in order to remain competitive in the IT market place. Various quality models emerge to satisfy different improvement objective such as to improve capability of models, quality management and serve as IT government purpose. The heterogeneity characteristics of the models require further research on dealing with multiple process models at a time. We discuss on the concept of software process and overview on software maintenance and evolution which are important elements in the quality models. The concepts related to process quality model and improvement models are discussed. The research outlined in this paper shows that software processes, maintenance, evolution, quality and improvement have become really important in software engineering. The synergy among the multi-focused process quality model is examined with respect to process improvement. The research outcome is to determine key processes vital to the implementation of multi-process quality model

    Guest Editorial: Special Issue on Software, Maintenance and Evolution

    Get PDF
    Software maintenance and evolution continues to play a vital role in the development of software systems. It is widely acknowledged that the majority of development effort, and thereby expenditure, is allocated to postinitial release activity. This activity, which takes place after the software has seen its first release, is known as software maintenance (or software evolution)

    Software evolution and maintenance

    Get PDF
    Softver je širok pojam za jedinstveno shvaćanje njegova korištenja, funkcija i ostalih povezanih činjenica. Kod održavanja softvera, mora se voditi računa o pravovremenom ažuriranju, odnosno držanju koraka s korisničkim zahtjevima, promjenama poslovnog okruženja, napretka hardvera i slično. To se naziva održavanje ili evolucija softvera. Kada se malo bolje pogleda, softver je zaista složena komponenta kojoj se mora „posvetiti“ pažnje, jer ukoliko ne funkcionira, određeni posao se ne može obaviti. Zato se mora na vrijeme uočiti mogući problemi kako rad ne bi stao, odnosno, bitno je voditi računa o arhitekturi sustava, izdanju softvera kao i njegovom razvoju, također o propadanju softvera kao i procesima koje prate zahtjeve i planiranje te razumijevanje softvera koje vodi do održavanja njegove vrijednosti tokom njegovog životnog procesa.Software is a broad term for a unique understanding of it is use, function, and other related facts. When we speak of software maintenance, account needs to be taken of timely updating, in essence, maintaining user-friendliest steps, business environment changes, hardware progress, etc. That is called software maintenance or evolution. When you look a bit better, software is really a complex component that needs to be „devoted to “, because if it does not work, a certain job cannot be done. Therefore, it is necessary to determine the possible problems in the time to come, that is important to keep in the mind the system architecture, the software release and it is development, as well as software degradation as well as processes that follow the requirements, planning and understanding of the software that leads to maintaining it is value for his life process

    Software evolution and maintenance

    Get PDF
    Softver je širok pojam za jedinstveno shvaćanje njegova korištenja, funkcija i ostalih povezanih činjenica. Kod održavanja softvera, mora se voditi računa o pravovremenom ažuriranju, odnosno držanju koraka s korisničkim zahtjevima, promjenama poslovnog okruženja, napretka hardvera i slično. To se naziva održavanje ili evolucija softvera. Kada se malo bolje pogleda, softver je zaista složena komponenta kojoj se mora „posvetiti“ pažnje, jer ukoliko ne funkcionira, određeni posao se ne može obaviti. Zato se mora na vrijeme uočiti mogući problemi kako rad ne bi stao, odnosno, bitno je voditi računa o arhitekturi sustava, izdanju softvera kao i njegovom razvoju, također o propadanju softvera kao i procesima koje prate zahtjeve i planiranje te razumijevanje softvera koje vodi do održavanja njegove vrijednosti tokom njegovog životnog procesa.Software is a broad term for a unique understanding of it is use, function, and other related facts. When we speak of software maintenance, account needs to be taken of timely updating, in essence, maintaining user-friendliest steps, business environment changes, hardware progress, etc. That is called software maintenance or evolution. When you look a bit better, software is really a complex component that needs to be „devoted to “, because if it does not work, a certain job cannot be done. Therefore, it is necessary to determine the possible problems in the time to come, that is important to keep in the mind the system architecture, the software release and it is development, as well as software degradation as well as processes that follow the requirements, planning and understanding of the software that leads to maintaining it is value for his life process
    corecore