• Title/Summary/Keyword: refactoring

Search Result 66, Processing Time 0.03 seconds

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.

Bayesian Network-based Probabilistic Management of Software Metrics for Refactoring (리팩토링을 위한 소프트웨어 메트릭의 베이지안 네트워크 기반 확률적 관리)

  • Choi, Seunghee;Lee, Goo Yeon
    • Journal of KIISE
    • /
    • v.43 no.12
    • /
    • pp.1334-1341
    • /
    • 2016
  • In recent years, the importance of managing software defects in the implementation stage has emerged because of the rapid development and wide-range usage of intelligent smart devices. Even if not a few studies have been conducted on the prediction models for software defects, their outcomes have not been widely shared. This paper proposes an efficient probabilistic management model of software metrics based on the Bayesian network, to overcome limits such as binary defect prediction models. We expect the proposed model to configure the Bayesian network by taking advantage of various software metrics, which can help in identifying improvements for refactoring. Once the source code has improved through code refactoring, the measured related metric values will also change. The proposed model presents probability values reflecting the effects after defect removal, which can be achieved by improving metrics through refactoring. This model could cope with the conclusive binary predictions, and consequently secure flexibilities on decision making, using indeterminate probability values.

Applying Design Pattern & Refactoring on Implementing RTOS for the Small Educational Multi-Joint Robot (소형 교육용 다관절로봇 RTOS 구현을 위한 디자인 패턴 & 리팩토링 적용)

  • Son, Hyun-Seung;Kim, Woo-Yeol;Ahn, Hong-Young;Kim, Robert Young-Chul
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.9 no.3
    • /
    • pp.217-224
    • /
    • 2009
  • The traditional small educational multi-joint robots were developed on firmware. In these system's case, we cann't give a chance to educate good practices due on executing just robot's simple movements. But it may be possible for RTOS to control the elaborate movement of the robot with assembling each part on firmware. With this RTOS, we can enhance the efficiency of robot's movements, but too difficult to use the education as increasing the complexity of robot system. To solve the problem, we apply with Design pattern and Refactoring for the Education. Applying robot's design with Design pattern and Refactoring. There may be easily understand what and how to design RTOS for any level ones. We may easily change/upgrade RTOS for new system with this approach. This paper mentions to design RTOS with Design patterns and to apply RTOS's source code with Refactoring.

  • PDF

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.

Refactoring the Code for Visualizing Protein Database Information in a 3D Viewer for Software Reusability

  • Chun, Yoo-Jin;Ham, Seong-Il;Yang, San-Duk;Rhie, Arang;Park, Hyun-Seok
    • Genomics & Informatics
    • /
    • v.6 no.1
    • /
    • pp.50-53
    • /
    • 2008
  • We have released five Java Application Programming Interface (API) packages for viewing three-dimensional structures of proteins from the Protein Data Bank. To this end, the user interface of an earlier version has been refactored in an object-oriented fashion, in which refactoring is the process of changing a software system to improve its internal structure, without altering the external behavior. Various GUI design and features have been provided conveniently thanks to the Model-View-Control (MVC) model, which is an architectural pattern used in software engineering. Availability: The source code and API specification can be downloaded from https://sourceforge.net/projects/j3dpsv/.

A Study of Re-Engineering Refactoring Technique for the Software Maintenance and Reuse (소프트웨어 유지보수와 재사용을 위한 재공학 Refactoring 기법 연구)

  • 박진호;이종호;류성열
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.513-515
    • /
    • 2000
  • 소프트웨어 유지보수는 노력과 시간이 많이 소요된다. 유지보수 되는 기존의 시스템들을 규모가 크고 복잡하기 때문에 운영비용의 대부분이 소프트웨어 유지보수에 소요되는 실정이다. 소프트웨어의 재사용은 이러한 문제점들을 해결하기 위하여, 소프트웨어 역공학, 재공학, 컴포넌트와 같은 많은 기법들이 제안되었다. 이런 기법들 중에서 재공학은 재사용 하려는 소프트웨어를 분석, 재정의, 재문서화 등의 소프트웨어 역공학 방법을 통하여 좀더 효율적으로 소프트웨어를 분석할 수 있고, 순공학을 통해 문제점들의 교환과 새로운 구조와 시스템의 수정을 통해 더욱 경제적인 시스템을 만들 수 있다. 본 논문에서는 시스템의 유지보수와 재사용을 위한 재공학 Refactoring 기법을 제시한다.

  • PDF

A Composition Check of Composite Refactorings Not Having a Specification of Precondition (선행조건이 명세되어 있지 않은 복합 리팩토링에 대한 조립성 검사)

  • Kim, Kyung-Min;Jang, Pil-Jae;Kim, Tae-Gong
    • The KIPS Transactions:PartD
    • /
    • v.18D no.1
    • /
    • pp.23-34
    • /
    • 2011
  • Refactoring has been actively used in recent software developments. Many studies on the processing of more large scaled composite refactorings have been conducted through the composition of elementary refactorings. It is important to verify the possibility of composition before the refactoring is performed, because the composite refactorings are processed to the sequence of composed elementary refactorings. In conventional studies, they verify the possibility of composition using the precondition of composite refactorings which are computed from the precondition and postcondition of elementary refactorings. They can not verify the possibility of composition in case which composite refactorings do not have a specification of precondition. Thus, we plan to verify the possibility of composition by using the elementary refactorings only without any additional definitions of the preconditions of composite refactorings. To achieve this goal, we proposes a specification method of elementary refactorings and a method for the composition check of refactorings. Then, we develop a prototype tool based on these methods. In addition, we verify the efficiency of our methods through case studies.

An Approach to decide the location of a method using the logistic analysis (로지스틱 분석을 이용한 메소드 위치 결정 방법)

  • Jung Young A.;Park Young B,
    • The KIPS Transactions:PartD
    • /
    • v.12D no.7 s.103
    • /
    • pp.1017-1022
    • /
    • 2005
  • There are many changes in the software requirements during the whole software life cycle. These changes require modification of the software, and it is important to keep software quality and stability while we are modifying the software. Refactoring is one of the technology to keep software quality and stability during the software modification; there are many researches related to automatic refactoring. In this paper, we propose three factors for Move Method which is one of the refactoring technique. We applied binomial logistic analysis to data which were extracted from sample program by each factor. The result of this process was very close to the result of manual analysis by program experts. Furthermore, we found that these factors have major roll to determine Position of a method, and these factors can be used as a basis of finding optimal position of a method.

Comparative Analysis of Determination of Method Location between Classes (클래스 간 메소드 위치 결정 방법의 비교)

  • Jung, Young-Ae;Park, Young-B.
    • The Journal of the Korea Contents Association
    • /
    • v.6 no.12
    • /
    • pp.80-88
    • /
    • 2006
  • In Object-Oriented Paradigm, various cohesion measurements have been studied taking into account reference relation among components - like attributes and methods - that belong to a class. In addition, a number of methods have taken into research utilizing manual analysis, that is performed by developer's intuition and experience, and automatic analysis in refactoring field. The verification of objective criteria is demanded in order to process automatic refactoring. In this paper, we propose a method exploiting logistic regression and neural network for analysis of the relationship between six factors considering reference relation and method location among classes. Experimental results demonstrate that the logistic regression predicts the results up to 97% and the neural network predicts the outcomes up to 90%. Hence, we conclude that the logistic regression based method is more effective to predict the method location. Moreover, more than 90% of experimental results from both methods show that the six factors used in Move Method in refactoring are suitable to be used as an objective criteria.

  • PDF

Object-Oriented based Refactoring Process (객체지향 기반의 Refactoring 프로세스)

  • Lee, Jong-Ho;Park, Jin-Ho;Rhew, Sung-Yul
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.7 no.4
    • /
    • pp.299-308
    • /
    • 2001
  • The company invests its time and money for temporary maintenance to satisfy the fast change of the computer use environment and the user's demands. Therefore, various problems occur including low performance because of duplication of codes and unstable structures from the restructuring and redevelopment. Furthermore, if a developer, who did not participate in initial process of development, wrote additional program codes to upgrade or restructure, it would cause many problems such as lack or lose of development documentation, understanding of documentation and reuse of existing program language. This study, Object-oriented Refactoring Process, suggests that the developers can reuse object unit to overcome the limit of the reusing code. In addition, this paper shows case study to verify our process by adjusting the project called "D2D", which is a case tool for developing windows system from Company D. Our works get positive results such as improvement of system pelfonnance, decreased cost of development and maintenance and optimizing structure and class.

  • PDF