• 제목/요약/키워드: Source code quality

검색결과 91건 처리시간 0.024초

컴퓨터 비전용 조명 시스템 설계 코드 개발 (Development of the Lighting System Design Code for Computer Vision)

  • 안인모;이기상
    • 대한전기학회논문지:시스템및제어부문D
    • /
    • 제51권11호
    • /
    • pp.514-520
    • /
    • 2002
  • n industrial computer vision systems, the image quality is dependent on the parameters such as light source, illumination method, optics, and surface properties. Most of them are related with the lighting system, which is designed in heuristic based on the designer's experimental knowledge. In this paper, a design code by which the optimal lighting method and light source for computer vision systems can be found are suggested based on experimental results. The design coed is applied to the design of the lighting system for the transistor marking inspection system, and the overall performance of the machine vision system with the lighting system show the effectiveness of the proposed design code.

Computer Vision용 조명 설계코드 개발 (Development of Lighting Design Code for Computer Vision)

  • 안인모;이기상
    • 대한전기학회:학술대회논문집
    • /
    • 대한전기학회 2002년도 학술대회 논문집 전문대학교육위원
    • /
    • pp.41-45
    • /
    • 2002
  • In industrial computer vision systems, the image quality is dependent on the parameters such as light source, illumination method, optics, and surface properties. Most of them are related with the lighting system, which is designed in heuristic, based on the designer's experimental knowledge, In this paper, a design code by which the optimal lighting method and light source for computer vision systems can be found are suggested based on experimental results, To prove the usefulness of the design code, it is applied to the lighting system design of the transistor marking inspection system and the results are presented.

  • PDF

임베디드 소프트웨어의 재사용성 향상을 위한 리엔지니어링 프레임워크 (Re-engineering framework for improving reusability of embedded software)

  • 김강태
    • 한국컴퓨터정보학회논문지
    • /
    • 제13권4호
    • /
    • pp.1-9
    • /
    • 2008
  • 대부분의 전자제품은 날로 다양한 소비자의 니즈로 인해 수많은 라인업을 보유하고 있다. 이에 대응하기 위해 보통 '베이스 모델'이라 불리는 초기 개발모델에서 각 상품화 과제의 특정 요구사항을 반영하여 파생개발을 한다. 제품 라인업에 기반한 소프트웨어 라인 업이 형성되는 개발환경에서 '베이스 코드'의 구조와 그 구성요소의 품질은 향후 파생되는 여러 많은 제품의 생산성과 품질의 근간이 된다. '베이스코드'는 최초 개발 후 여러 상품화를 거치면서 그 구조와 코드 자체에 수많은 변경이 가해진다. 상품화 과제의 요구사양에 따라 변경되거나 추가되는 기능의 구현은 필수적 활동이며, 성능 개선 및 문제점 해결을 위한 구조 및 코드의 변경 역시 상품화를 통해 지속적으로 발생하는 유지관리 활동이다. 하지만 위와 같은 변경은 최초 설계 시 의도된 구조가 깨지거나 코드의 복잡도가 증가하는 등의 노쇠화 징후(Ageing symptom)로 나타나 유지관리에 어려움을 준다. 본 논문은 노쇠화 된 베이스 코드의 상품화 적용 효율을 높이기 위해 재사용성, 유지보수성, 확장성 등의 비기능적 요소(quality attribute)의 개선을 위한 절차와 기법으로 리엔지니어링 프레임워크를 제안한다.

  • PDF

Which Code Changes Should You Review First?: A Code Review Tool to Summarize and Prioritize Important Software Changes

  • Song, Myoungkyu;Kwon, Young-Woo
    • Journal of Multimedia Information System
    • /
    • 제4권4호
    • /
    • pp.255-262
    • /
    • 2017
  • In recent software development, repetitive code fragments (i.e., clones) are common due to the copy-and-paste programming practice, the framework-based development, or the reuse of same design patterns. Such similar code fragments are likely to introduce more bugs but are easily disregarded by a code reviewer or a programmer. In this paper, we present a code review tool to help code reviewers identify important code changes written by other programmers and recommend which changes need to be reviewed first. Specifically, to identify important code changes, our approach detects code clones across revisions and investigates them. Then, to help a code reviewer, our approach ranks the identified changes in accordance with several software quality metrics and statistics on those clones and changes. Furthermore, our approach allows the code reviewer to express their preferences during code review time. As a result, the code reviewer who has little knowledge of a code base can reduce his or her effort by reviewing the most significant changes that require an instant attention. To evaluate our approach, we integrated our approach with a modern IDE (e.g., Eclipse) as a plugin and then analyzed two third-party open source projects. The experimental results indicate that our approach can improve code reviewer's productivity.

Design and Implementation of a Data Extraction Tool for Analyzing Software Changes

  • Lee, Yong-Hyeon;Kim, Kisub;Lee, Jaekwon;Jung, Woosung
    • 한국컴퓨터정보학회논문지
    • /
    • 제21권8호
    • /
    • pp.65-75
    • /
    • 2016
  • In this paper, we present a novel approach to help MSR researchers obtain necessary data with a tool, termed General Purpose Extractor for Source code (GPES). GPES has a single function extracts high-quality data, e.g., the version history, abstract syntax tree (AST), changed code diff, and software quality metrics. Moreover, features such as an AST of other languages or new software metrics can be extended easily given that GPES has a flexible data model and a component-based design. We conducted several case studies to evaluate the usefulness and effectiveness of our tool. Case studies show that researchers can reduce the overall cost of data analysis by transforming the data into the required formats.

소프트웨어의 유지보수를 위한 PSDG기반 의미분할모형의 설계 (A design of the PSDG based semantic slicing model for software maintenance)

  • 여호영;이기오;류성열
    • 한국정보처리학회논문지
    • /
    • 제5권8호
    • /
    • pp.2041-2049
    • /
    • 1998
  • 소프트웨어의 품질을 향상시키며, 기존코드의 결함식별을 용이하게 하는 방법으로 프로그램의 후상태 종속성 분석을 통한 프로그램 ?살 및 유지보수지원 기법을 제안한다. 결함을 식별하고 분석하기에 이해도가 중요시 되는 교정유지보수를 위해서, 기존 코드의 분석 및 세그먼트화를 후상태 종속성모형(PSDG)을 이용하여 정적분할과 동적분할 및 의미분할의 장점을 살린 코드분할로 수행한다. 분할의 원리는 기존코드의 상태 종속성을 추적하여 그래프로 모형화한 후, 조각화(Clustering)와 강조분할(Highlighting)을 통해서 프로그램을 분할한다. PSDG 모형화의 결과로 비효율적인 프로그램 결함코드(Deadcode)의 식별 및 제거가 가능하며, 관련 프로그램 문장들을 일반화할 수 있고, 상태전이도 모형과의 확장연계로 분석 및 설계의 문서로 이용될 수 있다.

  • PDF

Theoretical simulation on evolution of suspended sodium combustion aerosols characteristics in a closed chamber

  • Narayanam, Sujatha Pavan;Kumar, Amit;Pujala, Usha;Subramanian, V.;Srinivas, C.V.;Venkatesan, R.;Athmalingam, S.;Venkatraman, B.
    • Nuclear Engineering and Technology
    • /
    • 제54권6호
    • /
    • pp.2077-2083
    • /
    • 2022
  • In the unlikely event of core disruptive accident in sodium cooled fast reactors, the reactor containment building would be bottled up with sodium and fission product aerosols. The behavior of these aerosols is crucial to estimate the in-containment source term as a part of nuclear reactor safety analysis. In this work, the evolution of sodium aerosol characteristics (mass concentration and size) is simulated using HAARM-S code. The code is based on the method of moments to solve the integro-differential equation. The code is updated to FORTRAN-77 and run in Microsoft FORTRAN PowerStation 4.0 (on Desktop). The sodium aerosol characteristics simulated by HAARM-S code are compared with the measured values at Aerosol Test Facility. The maximum deviation between measured and simulated mass concentrations is 30% at initial period (up to 60 min) and around 50% in the later period. In addition, the influence of humidity on aerosol size growth for two different aerosol mass concentrations is studied. The measured and simulated growth factors of aerosol size (ratio of saturated size to initial size) are found to be matched at reasonable extent. Since sodium is highly reactive with atmospheric constituents, the aerosol growth factor depends on the hygroscopic growth, chemical transformation and density variations besides coagulation. Further, there is a scope for the improvement of the code to estimate the aerosol dynamics in confined environment.

CNN 모델을 이용한 프로그램 코드 변경 예측 (Predicting Program Code Changes Using a CNN Model)

  • 김동관
    • 한국융합학회논문지
    • /
    • 제12권9호
    • /
    • pp.11-19
    • /
    • 2021
  • 소프트웨어 시스템은 생명주기동안 기능 추가, 버그 수정, 새로운 컴퓨팅 환경 수용 등의 다양한 이유로 프로그램 코드 변경이 요구된다. 이러한 코드 수정 과정에서 새로운 오류 발생을 가져올 수 있으므로 프로그램 코드 수정 과정은 새로운 시스템 개발 못지 않게 신중하게 처리되야 한다. 또한, 오픈 소스 프로그램에 대한 재사용이 일반화된 소프트웨어 개발환경에서 오픈 소스 프로그램의 코드 변경 가능성을 예측할 수 있다면, 보다 양질의 프로그램 개발 효과를 기대할 수 있을 것이다. 본 논문은 소스 코드 변경을 예측하는 Convolutional Neural Network (CNN) 기반의 딥러닝 모델을 제안한다. 소스 코드 변경을 예측하는 문제는 딥러닝의 이진 분류 문제이며 레이블된 데이터가 요구되는 지도학습을 사용한다. 코드 예측 모델의 학습 및 시험을 위해 깃허브에서 수집한 Java 소스 코드와 코드 변경 로그를 데이터로 사용한다. 수집된 Java 소스 코드에서 소프트웨어 메트릭스를 계산한 후 제안된 코드 변경 예측 모델의 입력 데이터로 사용한다. 제안된 모델의 성능 평가를 위해 정밀도, 재현율, F1점수, 정확도가 측정되었으며 각각의 평가 지표에 있이서 CNN 모델은 95%, 다층 퍼셉트 기반의 DNN 모델은 92%를 달성했다.

XMI 기반 상태도의 소스코드 자동생성 엔진 구현 (Code Generation from the Statechart Based on XMI)

  • 임좌상;김진만
    • 인터넷정보학회논문지
    • /
    • 제12권6호
    • /
    • pp.161-170
    • /
    • 2011
  • UML의 상태도는 CASE 도구마다 다르게 표현될 수 있어서 실제 적용에 어려움이 많지만, 시스템이 동작하는 측면을 효과적으로 나타낼 수 있다는 점에서 활용성이 높다. 상태도에서 소스를 생성하는 선행 연구를 보면, 단순한 분기문 또는 설계패턴 등을 적용하고 있지만 그 기술에 따라 생성된 소스코드에 차이가 있을 수 있다. 본 논문에서는 상태도를 문법형식에 맞게 엄격히 정의해서 소스코드를 생성하였다. 우선 서로 다른 CASE도구에서 작성된 상태도에서 추출된 XMI를 정제하였다. 여기서 EHA로 변환을 한 후 상태를 인식하였다. 그리고 상태도의 메타모델에 사용된 요소별로 자바 프로그래밍으로 전환하여 소스코드를 생성하고 기능성과 유지보수성을 측정하여 생성된 코드를 검증하였다. 본 논문에서 적용된 사례는 '에어컨'으로서, 다양한 상태와 전이가 포함되어 소스코드 생성에 적합하여 선정하였다. 그 결과 에어컨 사례의 상태도로부터 CASE 독립적인 XMI를 추출하여 정련한 후, 상태도에서의 동시성과 계층이 성공적으로 표현되었음을 확인했다. 향후 좀 더 큰 규모의 시스템에 적용하여 검증하는 연구가 필요하다.

소스코드 재사용을 위한 효율적인 의미망 구성에 관한 연구 (A Study on Efficient Construction of Sementic Net for Source Code Reuse)

  • 김귀정
    • 한국콘텐츠학회:학술대회논문집
    • /
    • 한국콘텐츠학회 2005년도 춘계 종합학술대회 논문집
    • /
    • pp.475-479
    • /
    • 2005
  • 본 연구에서는 객체 지향 소스 코드의 검색과 재사용을 효율적으로 수행할 수 있는 의미망을 구축하였다. 이를 위하여 각 노드 간 객체지향 상속의 개념을 표현할 수 있도록 의미망의 초기 관련값을 시소러스로 구축하였다. 또한, 의미망의 노드와 간선을 활성화시키고 활성값을 전파 시키기 위해 사용되는 spreading activation 방법의 단점을 보완하여 spreading activation의 성능은 최대한 유지하면서 검색 속도를 향상 시킬 수 있는 방법을 제안하였다.

  • PDF