• 제목/요약/키워드: Software Engineering Change

검색결과 566건 처리시간 0.03초

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
    • /
    • 제30권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.

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

  • 박지현;문미경;염근혁
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제32권12호
    • /
    • pp.1164-1177
    • /
    • 2005
  • 현재 소프트웨어 개발 공정이 복잡해짐에 따라 개발하는 소프트웨어의 요구사항 역시 복잡해지고 있으며 요구사항 관리에 많은 노력이 소요되고 있다. 그러나 소프트웨어의 요구사항을 처음부터 모두 정의하는 것은 사실상 불가능하며, 개발이 진행되면서 환경은 변하기 마련이다. 또한 요구사항 변경은 개발보다 많은 비용이 소요되므로 체계적인 변경 관리를 통해 변경에 민첩하게 대응하고 관리되어야 한다. 본 논문에서는 소프트웨어 프로덕트 라인에서 요구사항 변경 관리 프로세스를 기반으로 체계적인 요구사항 변경 관리 방법을 제시한다. 소프트웨어 프로덕트 라인(software product lines)에서 어플리케이션의 요구사항은 도메인 요구사항과 밀접하게 관련되어 있으므로 어플리케이션 공학(application engineering) 단계에서 요구사항 변경이 발생했을 경우 도메인 공학(domain engineering) 단계를 이용하여 변경을 분석하고 관리하는 방법을 제시한다. 이러한 일관된 변경 관리를 통해 변경 범위를 분석하고, 변경 대처방안을 제시함으로써 변경 처리 결정을 내리는데 도움을 주며 한번 요청된 변경이 완벽하게 처리되도록 도와주어 같은 변경의 반복 요청을 막을 수 있기 때문에 잠재된 변경 비용을 절약할 수 있다.

Quality Improvement by enhancing Informal Requirements with Design Thinking Methods

  • Kim, Janghwan;Kim, R. Young Chul
    • International journal of advanced smart convergence
    • /
    • 제10권2호
    • /
    • pp.130-137
    • /
    • 2021
  • In the current software project, it is still very difficult to extract and define clear requirements in the requirement engineering. Informal requirements documents based on natural language can be interpreted in different meanings depending on the degree of understanding or maturity level of the requirements analyst. Also, Furthermore, as the project progresses, requirements continue to change from the customer. This change in requirements is a catastrophic failure from a management perspective in software projects. In the situation of frequent requirements changes, a current issue of requirements engineering area is how to make clear requirements with unclear and ambigousrequirements. To solve this problem, we propose to extract and redefine clear requirements by incorporating Design Thinking methodologies into requirements engineering. We expect to have higher possibilities to improve software quality by redefining requirements that are ambiously and unclearly defined.

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

  • Malhotra, Ruchika;Jangra, Ravi
    • Journal of Information Processing Systems
    • /
    • 제13권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.

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

  • Gupta, Chetna;Singh, Yogesh;Chauhan, Durg Singh
    • Journal of Information Processing Systems
    • /
    • 제6권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.

SAT-Analyser Traceability Management Tool Support for DevOps

  • Rubasinghe, Iresha;Meedeniya, Dulani;Perera, Indika
    • Journal of Information Processing Systems
    • /
    • 제17권5호
    • /
    • pp.972-988
    • /
    • 2021
  • At present, DevOps environments are getting popular in software organizations due to better collaboration and software productivity over traditional software process models. Software artefacts in DevOps environments are vulnerable to frequent changes at any phase of the software development life cycle that create a continuous integration continuous delivery pipeline. Therefore, software artefact traceability management is challenging in DevOps environments due to the continual artefact changes; often it makes the artefacts to be inconsistent. The existing software traceability related research shows limitations such as being limited to few types of artefacts, lack of automation and inability to cope with continuous integrations. This paper attempts to overcome those challenges by providing traceability support for heterogeneous artefacts in DevOps environments using a prototype named SAT-Analyser. The novel contribution of this work is the proposed traceability process model consists of artefact change detection, change impact analysis, and change propagation. Moreover, this tool provides multi-user accessibility and is integrated with a prominent DevOps tool stack to enable collaborations. The case study analysis has shown high accuracy in SAT-Analyser generated results and have obtained positive feedback from industry DevOps practitioners for its efficacy.

Software Climate Change and its Disruptive Weather: A Potential Shift from "Software Engineering" to Vibrant/Dynamic Softology

  • Ghani, Imran;Jeong, Seung Ryul
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제10권8호
    • /
    • pp.3925-3942
    • /
    • 2016
  • Like natural climate change on the planet earth, the climate in software development environments is also changing (fast). Like the natural weather, the software environment is also disruptive. As the climate experts alert and suggest taking necessary measures to overcome certain challenges to make this earth a safer and comfortable living place, likewise this article also alerts the relevant stakeholders of software craftsmanship about the dynamic challenges that traditional Software Engineering (SE) with purely "Engineering mind-set" is not capable to respond. Hence, some new thoughts to overcome such challenges are shared. Fundamentally, based on the historical evidences, this article presents the authors' observation about continuous shift from traditional "Engineering-based" software development approaches to disruptive approaches - "Vibrant Softology". The authors see the cause of this shift as disruptive transformational force, which is so powerful that it is uncontrollably diminishing the "Engineering-based" approach from software development environments. The authors align it with climate change analogy. Based on this analogy, the authors feel the need to theoretically re-coin the notion of SE to some new term; perhaps Vibrant/Dynamic Softology (VS or DS). Hence, the authors suggest "a new (disruptive and dynamic) way of thinking is required to develop software". It is worth mentioning that the purpose of article and this new theory is not to disparage the notion of software engineering altogether, rather the aim is to highlight the importance of transformation from SE to its next level (perhaps VS/DS) due to the emerging needs in the software craftsmanship environment.

성공적 ERP구축 모델 : Ernst & Young의 PER(Package Enabled Reengineering) 방법론과 변화관리 방법론을 중심으로 한 탐색적 모델 (Successful ERP Implementation Model : Exploratory Model from Ernst & Young PER (Package Enabled Reengineering) and Change Management Methodology)

  • 안준모;박동배
    • 경영과학
    • /
    • 제15권2호
    • /
    • pp.59-70
    • /
    • 1998
  • According to the Gartner Group, the market for ERP software in Korea is growing rapidly. However, the number of successful ERP implementations is quite few. Standard(unmodified) ERP's are built based on best practices. Improvements expected from successful implementation are based on best practices built into the software. Many improvements are lost through modification to "standard" software. Even minor changes in software can significantly reduce benefits. Both implementation time and risk factors are increased with modifications. We introduce a methodology, called package Enable Re-engineering (PER) and the main components of change management program by Ernst & Young. "To-Be" model could be developed through the software capabilities. And change management processes such as continuous education and self-developments are required. The philosophy of the change management processes is to let the software package drive the re-engineering practices and avoid moving the software toward the "As-IS" process. Extensive top management involvement, major focus on speed, extensive communication program, and "clear" picture of the future are essential components of change management. We are sure that the complied experiences and model have implications for practice and for academicians for their endeavors in their fields.

  • PDF

A Design of Diabetes Mellitus Scheduling Program for Diabetic Patients: A Software Engineering Approach

  • Choi, Jeong-Hoon;Huh, Jun-Ho;Weon, Sunghyun
    • Journal of Multimedia Information System
    • /
    • 제5권1호
    • /
    • pp.53-58
    • /
    • 2018
  • The Republic of Korea (ROK) has been putting much effort to deal with diabetes which is being increasingly found in all age groups due to inadequate diet. Diabetes is closely related to one's eating habits and lifestyle that often cause hyperglycemia so that it is essential for the diabetic patients to change them to improve or control the major symptoms of diabetes. This study introduces a software engineering solution to support these patients. The software designed for the solution lets the patients to easily recognize their sugar levels and current treatment schemes and then advises a more effective approach along with the essential information through the embedded push service. The major goal of this study is to support diabetes patients by providing a convenient but effective means to prevent or improve diabetic symptoms by patients themselves who will in turn change their lifestyles in a positive manner.

Process Improvement for Quality Increase of Weapon System Software Based on ISO/IEC/IEEE 29119 Test Method

  • Park, Byung Hoon;Seo, Yeong Geon
    • 한국컴퓨터정보학회논문지
    • /
    • 제23권12호
    • /
    • pp.115-122
    • /
    • 2018
  • As the proportion of software in weapon systems increases, the impact of software on the overall system is growing. As a result, software quality management becomes important, and related regulations and work manuals for quality assurance activities at each stage in the R & D process are becoming more sophisticated. However, due to the characteristics of the weapon system software that is developed as a customized form for the purpose of a specific mission, there are limits to specifying and definitizing the detailed requirements (upper and lower level) according to various operational concepts during the development process. Due to this, software modification (patch change, shape change due to upgrade, etc.) occurs on account of many defects and performance improvement in the mass production and operation stage after the development is completed. In this study, we analyze the characteristics of these weapon system softwares and propose quality improvement methods based on ISO / IEC / IEEE 29119 test method.