• Title/Summary/Keyword: 코드품질

Search Result 255, Processing Time 0.027 seconds

Applying Practice Patterns to Improve Source Code Quality of Embedded Software (임베디드 소프트웨어의 소스 코드 품질 향상을 위한 Practice Patterns의 적용)

  • Hong Jang-Eui
    • The KIPS Transactions:PartA
    • /
    • v.12A no.7 s.97
    • /
    • pp.589-596
    • /
    • 2005
  • Source code quality is very Important that software embedded into product is difficult to change. In order to improve source code quality, it should be considered the quality of analysis and design models as well as the quality of source code. In this paper, we suggest 'Practice Pattern' as one of practical techniques to improve embedded software source code quality. Practice pattern is a procedural pattern to guide modeling and coding activities in software development phases. We believe that applying our pattern provides the improvement of optimum performance, modularization, and portability for embedded software source code.

Python's Static Analyzer for solving Code Complexity (코드 복잡도 해결을 위한 Python 정적 분석기 개발)

  • Hong, Je Seong;Kim, R.Young Chul
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2020.11a
    • /
    • pp.729-732
    • /
    • 2020
  • 앞으로 4 차 산업혁명 시대에 많은 인공지능 관련 소프트웨어 및 데이터 기반 소프트웨어가 개발이 필수적이다. 문제는 이런 소프트웨어 관련 품질을 고려하지 않고 있다. 또한 많은 Python 관련 공개 소프트웨어에 대해 품질 보장이 불가능하다. 이를 위해, 코드 가시화 메커니즘, 인공지능 관련 코드 품질을 높이기 위해 AI 관련 Python 코드 복잡도 기반 고품질화 및 코드 가시화 메커니즘을 제안한다. 또한 기존의 복잡도를 측정하는 품질 메트릭스 중 하나인 McCabe's Cyclomatic 복잡도의 개선을 제안한다. 기존의 복잡도 공식에 응집도, 결합도를 가중치로 적용하여 개선된 복잡도를 계산한다. 소프트웨어의 내부 구조 및 관계와 복잡도 정보를 가시화하여 소프트웨어의 품질 향상에 기여한다.

Effective code static analysis and visualization based on Normalization of internal code information (코드 내부 정보의 정규화 기반 효율적인 코드 정적 분석 및 가시화)

  • Park, Chansol;Jeon, Byungkook;Kim, R. Young Chul
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2022.11a
    • /
    • pp.85-87
    • /
    • 2022
  • 고품질 코드를 위한 정적 분석은 아직도 매우 필요한 영역이며, 또한 코드의 가시화는 개발자들에게 코드의 복잡한 모듈에 대한 가이드에 필요하다. 기존의 코드 가시화는 정적 분석의 코드 내부 정보들을 DB 테이블화 및 품질 지표(CK Metrics, Coupling, # function Calls, Bed smell) 질의어화, 그리고 추출된 정보를 가시화하는 것에만 초점을 두었다. 문제는 코드 내부 정보(Class, method, parameters, etc) 테이블들에 대한 join 연산 시 엄청난 시간과 리소스가 소모된다. 이 문제를 해결하기 위해, 우리는 테이블 설계의 정규화를 제안한다. 또한 필요한 품질 지표의 질의를 통해 코드 내부 정보 추출하여 데이터 및 제어 복잡 모듈을 식별하여 refactoring 를 가이드 한다. 앞으로는 이 부분의 AI learning 을 통해 bad/good program 을 식별을 기대한다.

Improving Static Code Complexity with Refactoring technique based on SW visualization. (SW 가시화 기반 리펙토링 기법 적용을 통한 정적 코드 복잡도 개선)

  • Kang, Geon-hee;Son, HyunSeoung;Kim, Youngsoo;Park, Yong B.;Kim, R. Young Chul
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2014.11a
    • /
    • pp.650-653
    • /
    • 2014
  • 기존의 소프트웨어 개발은 SW품질을 중요시 하지만, 고품질에 대한 문제가 아직도 존재한다. 또한 기존 레가시 시스템는 개발자나 설계의 부재 경우가 많고, 코드의 내부 복잡도와 모듈간의 결합도가 높을 가능성이 높다. 따라서 코드 가시화를 통한 복잡도 개선은 고품질화과 더불어 코드 모듈의 재사용과 유지보수등과 직접적 관련성이 있다. 본 논문은 기존 SW가시화용 자동 Tool Chain 기반에서 여러 리펙토링 방법 절차 적용으로 복잡도 개선을 제안 한다. 이런 코드 가시화가 결과적으로 타깃의 결합도를 줄일 수 있다. 기존의 레가시 코드에 자동 Tool chain적용은 고품질 적용이 충분히 예상된다.

A Case Study on Improving SW Quality through Software Visualization (소프트웨어 가시화를 통한 품질 개선 사례 연구)

  • Park, Bo Kyung;Kwon, Ha Eun;Son, Hyun Seung;Kim, Young Soo;Lee, Sang-Eun;Kim, R. Young Chul
    • Journal of KIISE
    • /
    • v.41 no.11
    • /
    • pp.935-942
    • /
    • 2014
  • Today, it is very important issue to high quality of software issue on huge scale of code and time-to-market. In the industrial fields still developers focuses on Code based development. Therefore we try to consider two points of views 1) improving the general developer the bad development habit, and 2) maintenance without design, documentation and code visualization. To solve these problems, we need to make the code visualization of code. In this paper, we suggest how to visualize the inner structure of code, and also how to proceed improvement of quality with constructing the Tool-Chain for visualizing Java code's inner structure. For our practical case, we applied Object Code with NIPA's SW Visualization, and then reduced code complexity through quantitatively analyzing and visualizing code based on setting the basic module unit, the class of object oriented code.

Static Analysis for Code Quality on R&D Projects of SW Development (SW 개발 R&D 프로젝트에서 소스 코드 품질을 위한 정적분석)

  • Park, J.H.;Park, Y.S.;Jung, H.T.
    • Electronics and Telecommunications Trends
    • /
    • v.32 no.1
    • /
    • pp.102-115
    • /
    • 2017
  • 본고에서는 SW 개발 R&D 프로젝트에 개발 소스 품질 검증을 위한 정적분석 실행방안을 기술한다. 정적분석 실행 방안으로 소스 코드 품질 검증 대상 SW 개발 R&D 프로젝트 범위와 정적분석 검증 기준을 기술하고, 정적분석 검증을 위한 구체적 실행 방안과 검증 프로세스 그리고 정적분석 검증을 지원 환경 체계를 제시했다. 또 제시된 정적분석 검증 실행 방안에 근간하여 수행 중인 프로젝트에서 개발한 소스 코드에 대해 시범적으로 정적분석 검증을 수행하고 이를 바탕으로 정적분석 검증 실행의 안정적인 도입 및 운영 방향을 시사점으로 기술하였다. 제시된 정적분석 검증 실행 방안은 SW 개발 R&D 프로젝트에서 개발 소스 코드 품질 관리 및 유지를 위한 방안으로 고려해 볼 수 있을 것으로 기대한다.

  • PDF

A Study on Secure Code Editor for Secure Software (안전한 소프트웨어 개발을 위한 보안 코드 작성기 개발)

  • Bang, Ki-Seok;Kong, Jin-San
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06d
    • /
    • pp.94-97
    • /
    • 2011
  • 고품질의 소프트웨어를 개발하기 위해 정확한 소스코드의 작성은 필수과정이다. 기능의 정확성 뿐만 아니라 근래에는 보안위협을 배제한 개발이 가장 중요한 품질의 척도가 되었다. 다양한 보안성 보장기법이 사용되고 도구가 개발되고 있지만 초보적 개발자들에게는 매우 어려운 과정이다. 본 연구에서는 소스코드개발자에게 보안위협을 경고하고 그 대안을 제시할 수 있는 코드 작성기를 개발하고자 한다.

Extended IPO technique for Code Refactoring (코드 리팩토링을 위한 확장된 IPO 기법)

  • Park, Jae-Jin;Lee, Jae-Wook;Hong, Jang-Eui
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06b
    • /
    • pp.255-257
    • /
    • 2012
  • 긴 파라미터 리스트(Long parameter list)는 소프트웨어 코드의 품질을 저해시키는 Bad Smell들 중 하나로써, 코드에 대한 이해도를 떨어뜨리고 코드의 변경을 어렵게 한다는 문제점이 있다. 이러한 문제를 해결하는 기법들 중 하나인 IPO(Introduce Parameter Object) 기법은 함께 사용되는 빈도가 높은 파라미터들을 하나의 클래스로 만든 후에 관련된 기능들을 해당 클래스의 메소드로 추출하여 사용하므로 코드의 중복을 막아 재사용성을 높이고 코드에 대한 이해도를 높일 수 있다. 하지만 IPO 기법의 주된 관심사는 파라미터 그룹의 발생 빈도에 초점을 두고 있으며, 커플링에 대한 고려가 충분히 이루어지지 않는다. 따라서 본 연구에서는 IPO 기법과 커플링의 관계를 분석하여 IPO 기법이 커플링까지 고려할 수 있도록 확장된 IPO기법을 제안한다. 제안된 기법은 기존의 기법에 비해 더 낮은 커플링을 달성하여 고품질의 코드를 얻을 수 있다.

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.

Constructing Effective Code Analyzer to Measure the Quality of Blockchain Code based on Go Language (Go 언어 기반 블록체인 코드의 품질 검증을 위한 효율적인 정적분석기 개발)

  • An, Hyun-sik;Park, Jihoon;Park, Bokyung;Kim, R. Young-chul
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2019.10a
    • /
    • pp.694-696
    • /
    • 2019
  • 현재 4차 산업 혁명과 가상화폐에 대한 전 세계적인 관심으로 블록체인 시스템이 급부상하고 있다. 현재 구현중심인 국내외 블록체인 시장에서 무수히 많은 블록체인 기반 플랫폼들이 등장과 함께 오류가 발생하고 있다. 하지만 블록체인 시스템의 신뢰성, 확장성, 안정성 등에 대한 검증은 누구도 하고 있지 않다. 이런 문제 해결을 위해 Go language로 구성된 블록체인 코드를 분석할 수 있는 정적분석기를 통한 품질 가시화 방법을 제안한다. 이를 통하여 Blockchain Code의 내부 복잡도를 식별하고자한다. 즉, 코드 내부를 가시화하고 개발자가 보다 쉽게 코드를 유지보수 할 수 있으며 블록체인 시스템의 소프트웨어 공학적인 고품질화가 가능하다.