• Title/Summary/Keyword: Software Studies

Search Result 2,307, Processing Time 0.027 seconds

A Systematic Literature Survey of Software Metrics, Code Smells and Refactoring Techniques

  • Agnihotri, Mansi;Chug, Anuradha
    • Journal of Information Processing Systems
    • /
    • v.16 no.4
    • /
    • pp.915-934
    • /
    • 2020
  • Software refactoring is a process to restructure an existing software code while keeping its external behavior the same. Currently, various refactoring techniques are being used to develop more readable and less complex codes by improving the non-functional attributes of software. Refactoring can further improve code maintainability by applying various techniques to the source code, which in turn preserves the behavior of code. Refactoring facilitates bug removal and extends the capabilities of the program. In this paper, an exhaustive review is conducted regarding bad smells present in source code, applications of specific refactoring methods to remove that bad smell and its effect on software quality. A total of 68 studies belonging to 32 journals, 31 conferences, and 5 other sources that were published between the years 2001 and 2019 were shortlisted. The studies were analyzed based on of bad smells identified, refactoring techniques used, and their effects on software metrics. We found that "long method", "feature envy", and "data class" bad smells were identified or corrected in the majority of studies. "Feature envy" smell was detected in 36.66% of the total shortlisted studies. Extract class refactoring approach was used in 38.77% of the total studies, followed by the move method and extract method techniques that were used in 34.69% and 30.61% of the total studies, respectively. The effects of refactoring on complexity and coupling metrics of software were also analyzed in the majority of studies, i.e., 29 studies each. Interestingly, the majority of selected studies (41%) used large open source datasets written in Java language instead of proprietary software. At the end, this study provides future guidelines for conducting research in the field of code refactoring.

A Development and Application of the Checklist for Evaluating Software Usability (소프트웨어 사용성 평가를 위한 체크리스트의 개발과 적용)

  • 진영택;하수정
    • The Journal of Society for e-Business Studies
    • /
    • v.6 no.2
    • /
    • pp.73-85
    • /
    • 2001
  • Usability is defined by the effectiveness, efficiency and satisfaction with which specified users can achieve specified goal in particular environment. Today, many factors such as software acquisition, business re-engineering and the trend of software market have software industry considers usability as an important quality of software products. Therefore, the specification and measurement method for establishing the acceptable usability level of software is required during software development acquisition and evaluation. To evaluate whether software products is usable or not, we need evaluation method for software usability. This paper is not only to provide a framework for specifying the usability attributes of a product and establishing a comprehensive set of usability criteria, but also assessing usability metrics of the software. The usability metrics and checklist is developed based on the properties of the user interface using ISO standard and general usability principles with product-oriented view which means the Product has attributes contributing to determine the usability. This paper also suggested the way to weight the relative importance of the individual usability item depending on the software categories.

  • PDF

A Case Study on Applying Function Point Analysis Technique to Measure the Size of Software Systems based on UML (UML기반 소프트웨어시스템의 규모측정을 위한 기능점수분석기법의 응용에 관한 연구)

  • 안계중;이남용
    • The Journal of Society for e-Business Studies
    • /
    • v.7 no.2
    • /
    • pp.173-190
    • /
    • 2002
  • Over the past decade, numerous software managers and engineers have been concerned with measuring the size and complexity of software systems. Function point analysis technique is one of the most popular software sizing techniques. A reasonable software development plan through cost and time estimation should be a prerequisite for the successful project at the beginning stage of the project. It is generally known that software size measurement is useful for this kind of estimation and the function point analysis technique would be more effective than the others. However, it is difficult to apply the technique to object-oriented methodology widely used in the software industry. Thus, the purpose of this study is to present a case study on how to apply function point analysis technique to sizing of the software systems based on UML. The results of this study can be useful to managers and engineers.

  • PDF

Extension of MARTE Profile for Model-based Power Consumption Analysis of Embedded Software with UML 2.0 (UML 2.0을 사용한 모델 기반의 임베디드 소프트웨어 소모 전력 분석을 위한 MARTE Profile의 확장)

  • Pyeon, Ho-Rim;Kim, Jong-Phil;Hong, Jang-Eui
    • Journal of KIISE:Software and Applications
    • /
    • v.37 no.4
    • /
    • pp.252-263
    • /
    • 2010
  • The needs of low-power embedded software are being increased. Along with the needs, the studies to predict the power consumption of embedded software are also being increased. Although existing studies for power analysis have been performed in source code-based, these code-based analysis have some shortages of long analysis time and much feedback efforts. Recently some studies of power analysis based on software models are prompted. This paper describes on the model-based approach using UML diagrams in embedded software development process. Specially we focus on the extension of OMG's MARTE Profile to support model-based analysis. The MARTE extension gives the possibility of power analysis using just UML diagrams without any other analysis model in embedded software development.

Application of Software Product Line Engineering for Developing Web Application Families (웹 시스템 군의 개발을 위한 소프트웨어 제품라인 공학의 적용)

  • Hwang, ByungHan;Jin, YoungTaek
    • The Journal of Society for e-Business Studies
    • /
    • v.22 no.2
    • /
    • pp.39-60
    • /
    • 2017
  • Software product line engineering is widely recognized as an effective way for systematic software reuse, and many studies have been conducted to convert existing software development practices and processes into software product line. In order to convert existing software development into product line, a lot of investments are required such as dedicated development units, appropriate process selection and adaptation, and tool support. In particular, small businesses need business cases and specific practices for applying software product line engineering before its full-scale adoption. In this paper, we present a practical case of applying software product line engineering to the development of web system families and a process of systematically building and reusing software assets. To do this, we analyzed a number of web development projects and presented the experiences and various considerations of small software companies adopting software product line.

Systematic Review of Bug Report Processing Techniques to Improve Software Management Performance

  • Lee, Dong-Gun;Seo, Yeong-Seok
    • Journal of Information Processing Systems
    • /
    • v.15 no.4
    • /
    • pp.967-985
    • /
    • 2019
  • Bug report processing is a key element of bug fixing in modern software maintenance. Bug reports are not processed immediately after submission and involve several processes such as bug report deduplication and bug report triage before bug fixing is initiated; however, this method of bug fixing is very inefficient because all these processes are performed manually. Software engineers have persistently highlighted the need to automate these processes, and as a result, many automation techniques have been proposed for bug report processing; however, the accuracy of the existing methods is not satisfactory. Therefore, this study focuses on surveying to improve the accuracy of existing techniques for bug report processing. Reviews of each method proposed in this study consist of a description, used techniques, experiments, and comparison results. The results of this study indicate that research in the field of bug deduplication still lacks and therefore requires numerous studies that integrate clustering and natural language processing. This study further indicates that although all studies in the field of triage are based on machine learning, results of studies on deep learning are still insufficient.

A Study on Optimal Renewal Cycle for Governmental Agency Software (공공기관 소프트웨어의 최적 재개발 주기 도출에 대한 연구)

  • An, Hoon-sang;Bae, Jongho;Kim, Youngsung;Park, Chulhyun
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.5 no.3
    • /
    • pp.117-124
    • /
    • 2016
  • The demands for additional functionalities and improvements in performance of software increase over time. In particular, increases in software complexity and requirements for quality control attributed to continued maintenance lead to the deterioration of software quality and raises in software life cycle costs. In order to prevent this, software operators have to conduct timely redevelopment of the software. However, the scope of previous studies on timely redevelopment of software is limited to enterprises. We, in this study, suggest a model to derive the optimal cycle for the redevelopment of governmental agency software using Renewal process and discuss its correlation with previous studies.

A Study on the Development Process of User Authentication Software (사용자 인증 소프트웨어 개발 프로세스에 관한 연구)

  • 이상준;배석찬
    • The Journal of Society for e-Business Studies
    • /
    • v.9 no.1
    • /
    • pp.255-268
    • /
    • 2004
  • User authentication is indispensable in computer login and internet banking. Usability as well as security is needed in user authentication software. To develop the software systematically, development process must be defined, and it can result in the improvement of software maturity. In this paper, a process needed to develop user authentication software systematically is proposed from experience of developing visual password input software. This process is composed of 6 phases and 15 activities. It is able to improve usability with its requirement analysis, planning, integration testing, and acceptance testing activity.

  • PDF

An Empirical Study of Software Size Estimation Techniques by Use Case (Use Case에 의한 소프트웨어 규모 예측 방법에 대한 실증적 연구)

  • 서예영;이남용
    • The Journal of Society for e-Business Studies
    • /
    • v.6 no.2
    • /
    • pp.143-157
    • /
    • 2001
  • There has been a need for predicting development efforts and costs of the system during the early stage of the software process and hundreds of metrics have been proposed for computer software, but not all provide practical support to the software engineer. Some demand measurement that is too complex, others are so esoteric that few real-world professionals have any hope of understanding them, and others violate the basic intuitive notions of what high-quality software really is. It is worthwhile that metrics should be tailored to best accommodate specific products and processes after grasping their good and no good point. This paper describes two size estimation techniques, the Karner technique and the Marchesi technique, and compares and analyzes them with proposed evaluation criteria. Both techniques are to estimate software size analyzed by use case that is mainly described during the object-oriented analysis phase. We also present an empirical comparison of them, both are applied in the Internet Medicine Prescription System. We also propose some guidance for experiments based on our analysis. We believe that it should be facilitating project management more effective by adjusting software metrics properly.

  • PDF

A Study on 3D Rendering based on Freeware (Freeware를 활용한 3차원 Rendering에 관한 연구)

  • Kim, Yong-Gwan
    • Cartoon and Animation Studies
    • /
    • s.15
    • /
    • pp.123-137
    • /
    • 2009
  • This thesis is about to find possible opportunity to use Freeware Software in development and application of Digital Contents Creation software. There are 2D composition and Editing software, 3D production software and rendering Software as major part and motion capture, 3D Digitizing and other software operate in and out facilities in small part in Digital Contents Creation Software area. Most of Digital Contents Creation Software made by foreign countries such as USA and Canadian film, game and animation Digital Contents Creation industry, this causes higher production cost and lower profit of studios and usage of illegal copy of Digital Contents Creation Software as well. This thesis tried to present a solution to use Freeware Software in production process by researching and analyzing international and domestic software market and global trend of Freeware Software and present Freeware Software software in each production steps. This thesis include performance test of commercial render Freeware software.

  • PDF