• Title/Summary/Keyword: software change

Search Result 1,389, Processing Time 0.026 seconds

A Pragmatic Framework for Predicting Change Prone Files Using Machine Learning Techniques with Java-based Software

  • Loveleen Kaur;Ashutosh Mishra
    • Asia pacific journal of information systems
    • /
    • v.30 no.3
    • /
    • pp.457-496
    • /
    • 2020
  • This study aims to extensively analyze the performance of various Machine Learning (ML) techniques for predicting version to version change-proneness of source code Java files. 17 object-oriented metrics have been utilized in this work for predicting change-prone files using 31 ML techniques and the framework proposed has been implemented on various consecutive releases of two Java-based software projects available as plug-ins. 10-fold and inter-release validation methods have been employed to validate the models and statistical tests provide supplementary information regarding the reliability and significance of the results. The results of experiments conducted in this article indicate that the ML techniques perform differently under the different validation settings. The results also confirm the proficiency of the selected ML techniques in lieu of developing change-proneness prediction models which could aid the software engineers in the initial stages of software development for classifying change-prone Java files of a software, in turn aiding in the trend estimation of change-proneness over future versions.

A Dynamic Approach to Estimate Change Impact using Type of Change Propagation

  • Gupta, Chetna;Singh, Yogesh;Chauhan, Durg Singh
    • Journal of Information Processing Systems
    • /
    • v.6 no.4
    • /
    • pp.597-608
    • /
    • 2010
  • Software evolution is an ongoing process carried out with the aim of extending base applications either for adding new functionalities or for adapting software to changing environments. This brings about the need for estimating and determining the overall impact of changes to a software system. In the last few decades many such change/impact analysis techniques have been developed to identify consequences of making changes to software systems. In this paper we propose a new approach of estimating change/impact analysis by classifying change based on type of change classification e.g. (a) nature and (b) extent of change propagation. The impact set produced consists of two dimensions of information: (a) statements affected by change propagation and (b) percentage i.e. statements affected in each category and involving the overall system. We also propose an algorithm for classifying the type of change. To establish confidence in effectiveness and efficiency we illustrate this technique with the help of an example. Results of our analysis are promising towards achieving the aim of the proposed endeavor to enhance change classification. The proposed dynamic technique for estimating impact sets and their percentage of impact will help software maintainers in performing selective regression testing by analyzing impact sets regarding the nature of change and change dependency.

An Approach to Managing Requirements Change Systematically in Software Product Lines (소프트웨어 프로덕트 라인에서 체계적인 요구사항 변경 관리 방법)

  • Park, Ji-Hyeon;Moon, Mi-Kyeong;Yeom, Keun-Hyuk
    • Journal of KIISE:Software and Applications
    • /
    • v.32 no.12
    • /
    • pp.1164-1177
    • /
    • 2005
  • As the software development process becomes complicated, software requirements become complicated, too. Many efforts are needed in requirements management. It is impossible to define all requirements of software at first, and the development environment changes as project is gone. As the cost of requirements change management is much more than development cost, the changes should be controled immediately through systematic change management. In this paper, I suggest a method to manage requirements change systematically based on the change management process in software product lines. The requirements change at the application engineering process is analyzed and managed using the domain engineering process because the application requirements are customized from the domain requirements in software product lines. Such the consistent change management helps to make decisions about changes by change impact analysis and alternative solution design. Through this method, the potential change costs can be saved because same change requests are not repeated by controlling the change requests completely.

The effect of switching costs on resistance to change in the use of software

  • Perera, Nipuna;Kim, Hee-Woong
    • 한국경영정보학회:학술대회논문집
    • /
    • 2007.06a
    • /
    • pp.539-544
    • /
    • 2007
  • People tend to resist changing their software even alternatives are better then the current one. This study examines the resistance to change in the use of software from the switching costs perspective based on status quo bias theory. For this study, we select Web Browsers as software. Based on the classification of switching costs into three groups (psychological, procedural, and loss), this study identifies six types of switching costs (uncertainty, commitment, learning, setup, lost performance, and sunk costs). This study tests the effects of six switching costs on user resistance to change based on the survey of 204 web browser users. The results indicate that lost performance costs and emotional costs have significant effects on user resistance to change. This research contributes towards understanding of switching costs and the effects on user resistance to change. This study also offers suggestions to software vendors for retaining their users and to organizations for managing user resistance in switching and adopting software.

  • PDF

Prediction & Assessment of Change Prone Classes Using Statistical & Machine Learning Techniques

  • Malhotra, Ruchika;Jangra, Ravi
    • Journal of Information Processing Systems
    • /
    • v.13 no.4
    • /
    • pp.778-804
    • /
    • 2017
  • Software today has become an inseparable part of our life. In order to achieve the ever demanding needs of customers, it has to rapidly evolve and include a number of changes. In this paper, our aim is to study the relationship of object oriented metrics with change proneness attribute of a class. Prediction models based on this study can help us in identifying change prone classes of a software. We can then focus our efforts on these change prone classes during testing to yield a better quality software. Previously, researchers have used statistical methods for predicting change prone classes. But machine learning methods are rarely used for identification of change prone classes. In our study, we evaluate and compare the performances of ten machine learning methods with the statistical method. This evaluation is based on two open source software systems developed in Java language. We also validated the developed prediction models using other software data set in the same domain (3D modelling). The performance of the predicted models was evaluated using receiver operating characteristic analysis. The results indicate that the machine learning methods are at par with the statistical method for prediction of change prone classes. Another analysis showed that the models constructed for a software can also be used to predict change prone nature of classes of another software in the same domain. This study would help developers in performing effective regression testing at low cost and effort. It will also help the developers to design an effective model that results in less change prone classes, hence better maintenance.

Requirement Analysis and Optimal Design of an Operational Change Detection Software

  • Lee, Young-Ran;Bang, Ki-In;Shin, Dong-Seok;Jeong, Soo;Kim, Kyung-Ok
    • Korean Journal of Remote Sensing
    • /
    • v.20 no.3
    • /
    • pp.189-196
    • /
    • 2004
  • This paper describes what an operational change detection tool requires and the software which was designed and developed according to the requirements. The top requirement for the application of the software to operational change detection was identified: minimization of false detections, missing detections and operational cost. In order to meet such a requirement, the software was designed with the concept that the ultimate decision and isolation of changes must be performed manually by visual interpretation and all automatic algorithms and/or visualization techniques must be defined as support functions. In addition, the modular structure of the proposed software enables the addition of a new support function with the minimum development cost and minimum change of the operational environment.

Implementation of Automatic Tool for S/W Change Impact Analysis in Railway System (철도시스템 소프트웨어 변경영향 분석을 위한 자동화 도구 개발)

  • Jo, Hyun-Jeong;Hwang, Jong-Gyu;Kim, Yong-Kyu
    • The Transactions of the Korean Institute of Electrical Engineers P
    • /
    • v.58 no.2
    • /
    • pp.95-100
    • /
    • 2009
  • Recent advances in computer technology have brought more dependence on software to railway systems. Hence, the safety assurance of the vital software running on the railway system is very critical task and yet, not many works have been done. While much efforts have been reported to improve electronic hardware's safety, not so much systematic approaches to evaluate software's safety. In this paper, we suggested an automated analysis tool for S/W change impact in railway system, and presented its result of implementation. The analysis items in the implemented tool had referred to the international standards in relation to the software for railway system, such as IEC 61508 and IEC 62279. In these international standards, 'change impact analysis' for railway system S/W has to be required mandatorily. The proposed tool can be utilized at the assessment stage and also the software development stage.

Embedded Software Development using Unified Change Management (Unified Change Management(UCM)을 이용한 Embedded Software 개발)

  • Cho, Hyun;Kim, Eun-Young
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10a
    • /
    • pp.541-543
    • /
    • 2001
  • Embedded System이 고도화, 지능화되어감에 따라 이를 구동하는 Embedded Software의 역할과 크기 그리고 복잡도 역시 증가하고 있어 주어진 개발 기간동안 안정되고 품질이 보장된 Embedded Software 개발을 위해서는 기존의 방법보다 간편하고 유연하며 개발 프로세스를 지원하는 새로운 변경 관리 기법과 병렬 환경구성이 방법이 필요하게 되었다. 이에 따라, 기존의 방법을 추상화하여 사용과 관리가 용이하며 프로세스 지원이 가능한 Unified Change Management(UCM)을 Embedded Software인 Handset Platform 개발에 적용하여 병렬 개발 환경 구축과 Change Control and Problem Tracking 측면에서 기존의 방법과 비교하여 그 효용성을 살펴보고자 한다.

  • PDF

THE DEVELOPMENT OF CHANGE DETECTION SOFTWARE FOR PUBLIC SERVICES

  • Jeong, Soo;Lee, Sun-Gu;Kim, Youn-Soo;Kim, Yong-Seung
    • Proceedings of the KSRS Conference
    • /
    • v.2
    • /
    • pp.702-705
    • /
    • 2006
  • Change detection is a core function of remote sensing. It can be widely used in public services such as land monitoring, damage assessment from disaster, analysis of city growth, etc. However, it seems that the change detection using satellite imagery has not been fully used in public services. For the person who is in charge of public services, it seems not to be ease to implement the change detection because various functions are combined into it. So, to promote the use of the change detection in public services, the standard, the process and the method for the change detection in public services should be established. And the software which supports that will be very useful. This study aims to promote the use of satellite imagery in public services by building up the change detection process which are suitable for general public services and developing the change detection software to support the process. The software has been developed using ETRI Components for Satellite Image Processing to support the interoperability with other GIS software.

  • PDF

Design of the Scalable Naval Combat System Software using Abstraction and Design Pattern

  • Kwon, Ki-Tae;Kim, Ki-Pyo;Choi, HwanJun
    • Journal of the Korea Society of Computer and Information
    • /
    • v.24 no.7
    • /
    • pp.101-108
    • /
    • 2019
  • In this paper, we propose a new scalable and reliable combat system software in battleship which was developed procedurally in the past. Recently, combat system software is required to change frequently due to addition of new equipment and change of function. To solve those problems, this paper propose how to change combat system software into scalable software using class structure change and design pattern. Simulation results show that our scheme provides better performances and reliability than conventional scheme. Therefore proposed scheme can be efficiently used in Naval combat system.