• Title/Summary/Keyword: Software maintenance

Search Result 682, Processing Time 0.024 seconds

Estimating the Time to Fix Bugs Using Bug Reports (버그 리포트를 이용한 버그 정정 시간 추정)

  • Kwon, Kimun;Jin, Kwanghue;Lee, Byungjeong
    • Journal of KIISE
    • /
    • v.42 no.6
    • /
    • pp.755-763
    • /
    • 2015
  • As fixing bugs is a large part of software development and maintenance, estimating the time to fix bugs -bug fixing time- is extremely useful when planning software projects. Therefore, in this study, we propose a way to estimate bug fixing time using bug reports. First, we classify previous bug reports with meta fields by applying a k-NN method. Next, we compute the similarity of the new bug and previous bugs by using data from bug reports. Finally, we estimate how long it will take to fix the new bug using the time it took to repair similar bugs. In this study, we perform experiments with open source software. The results of these experiments show that our approach effectively estimates the bug fixing time.

Towards Texture-Based Visualization of Multivariate Dataset

  • Mehmood, Raja Majid;Lee, Hyo Jong
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2014.04a
    • /
    • pp.582-585
    • /
    • 2014
  • Visualization is a science which makes the invisible to visible through the techniques of experimental visualization and computer-aided visualization. This paper presents the practical aspects of visualization of multivariate dataset. In this paper, we will briefly discuss a previous research work and introduce a new visualization technique which will help us to design and develop a visualization tool for experimental visualization of multivariate dataset. Our newly developed visualization tool can be used in various domains. In this paper, we have chosen a software industry as an application domain and we used the multivariate dataset of software components computed by VizzMaintenance. VizzMaintenance is software analysis tool which give us multiple software metrics of open source Java based programs. Main objective of this research is to develop a new visualization tool for large multivariate dataset which will be more efficient and easy to perceive by viewer. Perception is very important for our research work and we have decided to test the perception level of our proposed visualization approach by researchers of our research lab.

Metric Analysis of Source Code Readability using Regression Analysis (회귀 분석을 사용한 소스 코드 가독성 메트릭 분석)

  • Choi, Sangchul;Kim, Suntae;Lee, Jeong-Hyu;Yoo, Hee-Hyung
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.17 no.6
    • /
    • pp.145-150
    • /
    • 2017
  • Software maintenance accounts for a large portion of the software life cycle cost. In the software maintenance phase, comprehending the legacy source code is inevitable, which takes most of the time. Source code readability is a metric of the extent of code readers' difficulty of code comprehension based on the source code itself. The better the code is readable, the easier it is for code readers to comprehend the source code. This paper proposes novel source code readability metric to quantitative measure the extent of current source code under development, which is more enhanced measurement method than previous research that dichotomously judges whether the source code was readable or not. As an evaluation, we carried out a survey and analyzed them with Regression Analysis to find best parameters of the metric.

A Study on Localization Model of Package Usage in Ada Program (Ada 프로그램에서 패키지 활용의 국부화 모델에 관한 연구)

  • Kim Seon-Ho;Yun Chang-Seop
    • Journal of the military operations research society of Korea
    • /
    • v.17 no.2
    • /
    • pp.100-112
    • /
    • 1991
  • Software system is a hierarchical structure with collection of program units. Software system can import external packages globally or locally depending on the usage within a system. If the imported package is used globally, the soft-ware system can be influenced globally by any change of package and programmer's debugging time for the program maintenance will be greater. To solve these problems, it is desirable to use the imported package locally right on the usage point within the system. The model presented in this paper analyzed entity usage of package in structure of program, identified the usage level to obtain localization and provided information for restructure of the program to localize package usage. To obtain localization, it identified declared entities inside the imported package and analyzed the specification and body part of program unit to identify entities referenced from the imported package. The proposed model can be used to improve the maintainability of software system and contributed to reduction of programmer's debugging time in program maintenance.

  • PDF

A Regression Test Selection and Prioritization Technique

  • Malhotra, Ruchika;Kaur, Arvinder;Singh, Yogesh
    • Journal of Information Processing Systems
    • /
    • v.6 no.2
    • /
    • pp.235-252
    • /
    • 2010
  • Regression testing is a very costly process performed primarily as a software maintenance activity. It is the process of retesting the modified parts of the software and ensuring that no new errors have been introduced into previously tested source code due to these modifications. A regression test selection technique selects an appropriate number of test cases from a test suite that might expose a fault in the modified program. In this paper, we propose both a regression test selection and prioritization technique. We implemented our regression test selection technique and demonstrated in two case studies that our technique is effective regarding selecting and prioritizing test cases. The results show that our technique may significantly reduce the number of test cases and thus the cost and resources for performing regression testing on modified software.

Optimal Software Release Policy for Random Cost Model

  • Kim, Hee-Soo;Shin, Mi-Young;Park, Dong-Ho
    • Communications for Statistical Applications and Methods
    • /
    • v.12 no.3
    • /
    • pp.673-682
    • /
    • 2005
  • In this paper, we generalize the software reliability growth model by assuming that the testing cost and maintenance cost are random and adopt the Bayesian approach to determine the optimal software release time. Numerical examples are provided to illustrate the Bayesian method for certain parametric models.

Estimating software development cost using machine-learning approach (학습이론을 이용한 소프트웨어 개발비 예측 모형)

  • Park, Chan-Kyoo
    • 한국IT서비스학회:학술대회논문집
    • /
    • 2005.11a
    • /
    • pp.345-355
    • /
    • 2005
  • As the portion of information systems(IS) budget to the total government budget becomes greater, the cost estimation of IS development and maintenance projects is recognized as one of the most important problems to be resolved for quantitative and efficient management of IS budget. The primary concern in the cost estimation of IS projects is to estimate software development cost. In this paper, we propose a new method to estimate software cost using support vector regression(SVR), which has attracted considerable attention because of its good performance and theoretical clearness. The paper is the first study which apply SVR to software cost estimation.

  • PDF

An Extensive Model on Essential Elements of Software Architecture (소프트웨어 아키텍처의 구성요소에 대한 포괄적 모델)

  • Koh, Seok-Ha
    • Journal of Information Technology Applications and Management
    • /
    • v.19 no.2
    • /
    • pp.135-147
    • /
    • 2012
  • Software architecture, as a blueprint for the system, should provide a robust foundation for design, implementation, and maintenance, for communication and documentation, and for reasoning about important system properties. Software architecture plays a central role during the whole software life-cycle. There are so diverse definitions of the software architecture, however, and there is no common agreement about what software architecture is. Examining 27 'published' definitions of software architecture, we synthesize an extensive model on the essential elements of software architecture, which consists of components, interaction among components, well-formed structure, reasons, and various perspectives. Further, we explore the possibility of unifying diverse software architecture definitions into a software architecture life-cycle model.

Software Complexity and Management for Real-Time Systems

  • Agarwal Ankur;Pandya A.S.;Lbo Young-Ubg
    • Journal of information and communication convergence engineering
    • /
    • v.4 no.1
    • /
    • pp.23-27
    • /
    • 2006
  • The discipline of software performance is very broad; it influences all aspects of the software development lifecycle, including architecture, design, deployment, integration, management, evolution and servicing. Thus, the complexity of software is an important aspect of development and maintenance activities. Much research has been dedicated to defining different software measures that capture what software complexity is. In most cases, the description of complexity is given to humans in forms of numbers. These quantitative measures reflect human-seen complexity with different levels of success. Software complexity growth has been recognized to be beyond human control. In this paper, we have focused our discussion on the increasing software complexity and the issue with the problems being faced in managing this complexity. This increasing complexity in turn affects the software productivity, which is declining with increase in its complexity.

Contextual Models of Business Application Software Architecture

  • Koh, Seokha;Ji, Kyoung-Sook
    • Journal of Information Technology Applications and Management
    • /
    • v.20 no.3
    • /
    • pp.1-18
    • /
    • 2013
  • Software architecture is the blueprint for a software system and should provide consistent guidelines for design, implementation, and maintenance throughout the entire lifecycle of the system. Components, interactions between the components, well-formed structure, reasons, and various perspectives reflecting various stakeholders' concerns changing through the phases of software lifecycle are the key elements of software architecture. The architect identifies and engages the stakeholders, understands and captures stakeholder's concerns including those regarding life cycle, and lets the concerns reflected in the architecture. To do so, architect should take into consideration various contextual elements regarding the system too. We make an extended list of the elements, especially those of business application software architecture, that the architect should take into consideration and construct a model of the relationships between the elements.