• Title/Summary/Keyword: 리팩토링 기법

Search Result 13, Processing Time 0.022 seconds

Extension of Code Refactoring Technique to Support Energy Efficiency and Language Conversion of Embedded Software (임베디드 소프트웨어의 에너지 효율성과 언어 변환 지원을 위한 코드 리팩토링 기법 확장)

  • Nam, Seungwoo;Hong, Jang-Eui
    • Journal of Convergence for Information Technology
    • /
    • v.8 no.2
    • /
    • pp.91-103
    • /
    • 2018
  • Refactoring is an engineering technique for securing the quality of existing legacy code, improving the internal structure without changing the functionality of the software. Along with the reuse of open source software, reuse of source code through programming language conversion is increasingly required due to technical or market requirements. In this situation, the refactoring technique including language conversion as well as energy efficiency is considered to be an important means for improving the productivity and the quality of embedded software development. This paper proposes a code refactoring technique that converts the grammar and structure of a programming language into those of a different language through comparison and mapping, in addition to the existing energy efficient refactoring technique. The use of the proposed refactoring technique can expect to improve the competitiveness of the product through rapid software development and quality improvement by coping with the environment change of the software development language and enhancing the reuse of the existing code.

Analysis of Energy Efficiency for Code Refactoring Techniques (코드 리팩토링 기법의 전력 효율성 분석)

  • Park, Jae-Jin;Kim, Doohwan;Hong, Jang Eui
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.3 no.3
    • /
    • pp.109-118
    • /
    • 2014
  • Code refactoring focuses on enhancing the maintainability of software to extend its lifetime. However as software applications were varied and the range of its usage becomes broaden, there are some efforts to improve software qualities like performance or reliability as well as maintainability using code refactoring techniques. Recently, as low-energy software has become one of critical issues in mobile environment, developing energy efficient software through code refactoring becomes an important one. Therefore this paper has its goal to investigate whether the existing refactoring techniques can support energy efficient software generation or not. That is to say, the existing code refactoring techniques can cause the minus of energy efficiency because they did not considered the energy consumption in their refactoring process. This paper experiments and analyzes to check whether the M. Fowler's code refactoring techniques can support the energy efficient software generation or not. Our research result can give to software developer some informations about energy-efficient refactoring techniques, and can support the development of software that has high maintainability and good energy efficiency.

Refactoring factors to decide the location of a field (필드 위치결정을 위한 리팩토링 요인)

  • Jung Young-Ae;Park Young-B.
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2006.05a
    • /
    • pp.253-256
    • /
    • 2006
  • 소프트웨어는 생명주기 전반에 거쳐 발생하는 요구사항 변경으로 수정이 불가피하다. 소프트웨어를 수정할 때 품질과 안정성을 유지하는 것은 중요한 문제이다. 본 논문에서는 무브 메소드(Move Method) 기법을 기초로 하여 리팩토링 적용요인을 제안하고, 로지스틱 회귀분석을 통하여 적용요인이 메소드의 위치를 결정지을 수 있는 요인임을 증명하는 방법에 대하여 살펴본다. 또한 객체지향 프로그램에서 메소드와 더불어 중요한 요소인 필드의 위치를 결정지을 수 있는 요인을 무브 필드(Move Field) 기법에 기초하여, 객체내 필드의 위치를 결정하기 위한 리팩토링 요인을 정의하고, 향후 연구과제에 대하여 논한다.

  • PDF

Code Refactoring Techniques Based on Energy Bad Smells for Reducing Energy Consumption (Energy Bad Smells 기반 소모전력 절감을 위한 코드 리팩토링 기법)

  • Lee, Jae-Wuk;Kim, Doohwan;Hong, Jang-Eui
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.5 no.5
    • /
    • pp.209-220
    • /
    • 2016
  • While the services of mobile devices like smart phone, tablet, and smart watch have been increased and varied, the software embedded into such devices has been also increased in size and functional complexity. Therefore, increasing operation time of mobile devices for serviceability became an important issue due to the limitation of battery power. Recent studies focus on the software development having efficient behavioral patterns because the energy consumption of mobile devices is caused by software behaviors which control the hardware operations. However, it is often difficult to develop the embedded software with considering energy-efficiency and behavior optimization due to the short development cycle of the mobile services in many cases. Therefore, this paper proposes the refactoring techniques for reducing energy consumption, and enables to fulfill the energy requirements during software development and maintenance. We defined energy bad smells with the code patterns that can excessively consume the energy, and our refactoring techniques are to remove these bad smells. We performed some case studies to verify the usefulness of our refactoring techniques.

Refactoring Effectiveness Analysis for Software Quality Enhancement : using AIS Mediation Server Program (소프트웨어 품질 향상을 위한 리팩토링 효과 분석 : AIS 중개 서버 프로그램을 대상으로)

  • Lee, Seo-Jeong;Lee, Jae-Wook;Hwang, Hoon-Kyu;Lee, Jang-Se
    • Journal of Navigation and Port Research
    • /
    • v.36 no.5
    • /
    • pp.363-370
    • /
    • 2012
  • Recently, International Maritime Organization has been developing e-navigation implementation strategy plan, which is focused on various services for vessel safety navigation. Then, different kinds of software will be developed in maritime area and with this, the quality issues are to be expected becoming more important. In this paper, we adopt software refactoring techniques to reduce the complexity of structure on source code level. It makes software program more effective to understand and modify, without any change of outward behavior. The existing AIS broadcast server program is used as an example for our trial, and calculating coupling and cohesion metric are introduced to analyze the refactoring effect, taking account of the maintainability of IEC/ISO9126 software quality standards.

Analysis of Refactoring Techniques and Tools for Source Code Quality Improvement (소스 코드 품질 향상을 위한 리팩토링 기법 및 도구 분석)

  • Kim, Doohwan;Jung, YooJin;Hong, Jang-Eui
    • Journal of Convergence Society for SMB
    • /
    • v.6 no.4
    • /
    • pp.137-150
    • /
    • 2016
  • Along with the rapid development of IT technology and business services, the effort to provide new services to the customers has been increasing, and also the improvement and enhancement of legacy systems are continuously occurring for rapid service delivery. In this situation, the quality assurance of the source code for the legacy system became a key technical elements that can quickly respond to the service needs. Refactoring is an engineering technique to ensure the quality for the legacy code, and essential for the improvement and extension of the legacy system in order to provide value-added services. This paper proposes some features of refactoring techniques through surveying and analyzing the existing refactoring techniques and tools to enhance source code quality. When service developers want to refactor the source code of the legacy system to enhance code quality, our proposed features may provide with the guidance on what to use any technique and tool in their work. This can improve the source code quality with correct refactoring and without trial and error, and will also enable rapid response to new services.

Removing Long Parameter List Using Semantic Matrix (메소드의 매개변수 리스트의 간소화를 위한 리팩토링 방안)

  • Ham, Dong Hwa;Lee, Jun Ha;Park, Soo Jin;Park, Soo Young
    • Journal of Software Engineering Society
    • /
    • v.26 no.4
    • /
    • pp.93-103
    • /
    • 2013
  • Complexity and maintenance cost of software increase as much as software has been evolved, therefore importance of software maintenance recently arise. There are many signs that are difficulties to maintain software, called bad smell, in a large-scale software. The bad smell should be removed to improve maintainability. Recently, many software refactoring methods have researched to terminate the bad smell. In this paper, we propose how to identify long parameter list, which causes bad smell, and how to solve the problem for increasing software maintainability. In our approach, we classify the parameters for creating new objects by measuring semantic similarity among them. This is evaluated by experienced software developers, and the result is statistically verified.

  • PDF

Refactoring for Classes Related with NS2 AODV (NS2 AODV 관련 클래스의 리팩토링)

  • Shin, Kyoung-Ho;Lee, Min-Soon;Kim, Jun-Hwan;Lee, Byoung-Soo
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2007.11a
    • /
    • pp.311-314
    • /
    • 2007
  • AODV 프로토콜은 최단경로 라우팅 기법, 에너지 효율, 빠른 지역 경로 복구 등을 위한 많은 알고리즘이 연구되어 왔다. AODV 프로토콜의 성능평가는 대부분 NS2 시뮬레이터를 통해 이루어지고 있으며, AODV의 성능개선을 위한 알고리즘의 적용은 NS2의 AODV 소스파일 변경을 통해 이루어진다. AODV 소스파일의 AODV 클래스가 아주 많은 역할을 하는 구조로 작성되어 있어 알고리즘의 적용이 쉽지 않고, 이로 인해 성능평가를 위한 시뮬레이션에 시간과 노력이 많이 들게 된다. 이를 위해 기존 소프트웨어를 재사용하고 유연성을 높일 수 있도록 소프트웨어의 리팩토링을 해주어야 한다. 리팩토링은 소프트웨어를 효율적이고 유지보수가 쉽도록 전환하는 과정이며, 소프트웨어의 재사용성을 높여주고 유연성을 제공해 줄 수 있다. 본 연구에서는 AODV의 성능 개선을 위한 알고리즘 적용이 보다 유연해지도록 AODV 관련 클래스들에 대해 리팩토링을 수행한다.

  • PDF

A Logical Coupling Measurement Method Based on Transaction Time, Size and Expertise of Developer (트랜잭션의 시점, 크기 및 개발자의 숙련도를 고려한 논리적커플링 측정기법)

  • Shim, Bin-Gu;Kim, Jin-Tae;Park, Soo-Yong
    • Journal of KIISE:Software and Applications
    • /
    • v.36 no.11
    • /
    • pp.891-900
    • /
    • 2009
  • The priority of software maintenance researches has been increasing, since the lengths of software lifecycle are more increasing. Measuring couplings among software entities provides a good quantitative source for analyzing source code and point out candidate refactoring positions. Logical-coupling measures how strongly two software entities are related with each other from the evolutionary point of view. The researches on logical-coupling have been focusing on improving the correctness and explaining more aspects that are hiding by measuring logical-coupling among finer-grained entities. However, existing researches on logical-coupling fails to consider characteristics of developers and projects reflected in transactions. The research proposes a logical-coupling measurement method based on transaction time, size and expertise of developer to improve the correctness by considering characteristics of developers and projects reflected in transactions. The method has been validated by applying it to three open-source projects.

An Optimization Technique to Improve Readability of CSS (CSS 가독성 향상을 위한 최적화기법)

  • Jung, Woo-Sung;Lee, Eun-Joo
    • Journal of the Korea Society of Computer and Information
    • /
    • v.15 no.7
    • /
    • pp.99-108
    • /
    • 2010
  • For effective maintenance for web applications, it is necessary to improve the readability of the source pages. Though CSS(Cascading Style Sheet) belongs to pure presentation layer in various web constituent entities, CSS codes are often used by inlning and they are sometimes automatically generated by web development tools. The existing studies on CSS optimization have only focused on reducing the size of codes and they did not incorporate the readability or the reusability. In this paper, CSS codes are structured and several criteria for readability are defined to improve the readabilty and reusability. Based on them, the algorithm to improve the readability are proposed. Finally, case study are presented to show the applicability of the proposed algorithm.