• 제목/요약/키워드: 소프트웨어 소스 코드

검색결과 317건 처리시간 0.033초

임베디드 시스템의 동일기능 소스코드 유사도 분석 요구사항 (Object Material Confirmation for Source Code Comparison on Embedded System)

  • 김도현;이규대
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제17권1호
    • /
    • pp.25-30
    • /
    • 2021
  • 임베디드 시스템 소스코드 감정목적물의 유사성을 판단하는 경우, 제공된 소스코드가 컴파일이 가능한 상태인지, 실행이 정상적으로 되는 것인지, 하드웨어와의 인터페이스가 일치하는지 등의 확인이 되지 않은 상태로 제공되는 경우가 지속적으로 발생하고 있다. 분쟁을 제기하는 측에서는 동작의 특성이 유사하고, 나타나는 기능의 효과가 유사한 이유로 소스코드의 많은 부분이 유사할 것으로 판단하고, 감정을 요청하게 되지만, 위의 여러 가지 상황으로 유사성 분석 결과가 기대와 다르게 나타나는 가능성이 우려된다. 본 연구에서는 감정사례를 통해 소스코드의 분석 과정과 검증되지 않은 소스코드의 유사성 도출의 개선방향을 제시한다.

GRM 모형의 QGIS Plugin GUI 개발 및 모형 공개 (Development of QGIS plugin GUI for the GRM Model and Free Open)

  • 최윤석;박상훈;김경탁
    • 한국수자원학회:학술대회논문집
    • /
    • 한국수자원학회 2018년도 학술발표회
    • /
    • pp.38-38
    • /
    • 2018
  • 본 논문에서는 분포형 강우-유출 모형인 GRM(Grid based Rainfall-runoff Model)의 확장성과 편의성 향상을 위한 소프트웨어 개발에 대해서 기술하였다. 본 연구에서는 크게 3가지를 수행하였다. 첫 번째는 기존의 GRM은 HyGIS, MapWindow GIS 등과 같은 GIS 소프트웨어 및 Microsoft MDB와 코드 수준에서 통합된 형태로 개발되었으며, 이러한 특성은 GRM을 이용한 다양한 응용시스템 개발시 제약 조건으로 작용하였다. 본 연구에서는 GRM 모형을 GIS 및 데이터베스와 코드 수준에서 분리하여 GRMCore.dll을 개발하였다. GRMCore.dll은 콘솔 모드 및 GUI에서 유출해석을 실행할 수 있는 소프트웨어와 실시간 유출해석시스템 등과 같이 유출 해석을 위한 다양한 응용 소프트웨어 개발에 공통적으로 활용될 수 있다. 두 번째는 최근 들어 세계적으로 가장 많이 사용되고 있는 오픈소스 GIS 인 QGIS의 plugin으로 GRM 모형의 GUI(QGIS-GRM)를 개발하였으며, GRM 모형의 입력자료 구축을 위해 TauDEM을 이용해서 Drainage Tool을 개발하였다. Drainage Tool에서는 격자별 흐름방향, 하천망, 유역 등과 같은 수문학적 공간정보를 DEM을 이용하여 구축할 수 있다. 세 번째는 개발된 소프트웨어를 오픈소스로 공개하였다. 공개 대상은 GRM 모형, QGIS-GRM, Drainage Tool 등이며, 각 소프트웨어에 대한 매뉴얼을 포함하고 있다. 소스코드의 공개는 세계적으로 널리 이용되고 있는 오픈소스 플랫폼인 Github(https://github.com/floodmodel/)를 이용하였다. 본 연구를 통해서 기존에는 특정 소프트웨어에 코드 수준에서 의존적이던 GRM 모형의 독립성을 향상시켰으며, 이를 통해 다양한 응용 소프트웨어 개발에 대한 적용성을 높일 수 있었다. 또한 QGIS 기반의 GUI 개발, 모형 입력자료 구축 도구의 개발, 개발된 소프트웨어의 오픈소스화 등을 통해서 사용자들이 좀 더 쉽게 GRM 모형을 활용할 수 있게 하였다.

  • PDF

바이너리 파일에서 Word2Vec 딥러닝 기법을 이용한 복합 자료형 추론 연구 (A Study on Composite Data Type Inference using Word2vec Deep Learning Scheme on Binary File)

  • 민예슬;정현오;이혜린;이승연;우드아커벙 오퐁;정준호;손윤식
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2017년도 추계학술발표대회
    • /
    • pp.306-309
    • /
    • 2017
  • 소프트웨어의 보안에 대한 중요성이 점차 높아짐에 따라, 소스코드 기반의 소프트웨어의 보안약점 분석 기법에서 더 나아가 소스 코드가 존재하지 않는 바이너리 파일을 대상으로 분석을 수행하는 연구가 진행되고 있다. 왜냐하면 소프트웨어 개발의 복잡성 증가에 따른 서드파티 라이브러리 활용과 레거시 코드의 관리 부재, 임베디드 소프트웨어의 특성 등으로 인해 소스 코드가 존재하지 않는 바이너리 코드의 사용이 늘어나고 있기 때문이다. 따라서 최근 바이너리 코드에 내제된 보안약점을 분석하기 위해서 중간코드를 이용하여 정적분석을 수행하는 다양한 연구가 진행되고 있다. 중간언어를 사용함으로 실행환경에 따라 달라지는 바이너리 코드가 중간언어로만 변환이 된다면 동일한 형태의 보안약점 분석기술을 통해 효과적인 수행이 가능하다. 본 논문에서는 이러한 바이너리 코드로부터 중간언어로 변환시 컴파일 과정에서 상실된 복합 자료형을 재구성하기 위해 Word2vec 딥러닝 기법을 이용한 추론기법을 제안한다.

Aspect-Oriented Programming을 이용한 Source Code 분석 시스템 설계 (A Design of Source Code Analysis System Using Aspect Oriented Programming)

  • 최민용;양해술
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2002년도 추계학술발표논문집 (하)
    • /
    • pp.2107-2110
    • /
    • 2002
  • 소프트웨어를 설계, 구현하는데 있어서의 어려움이란 주변 환경이나 제반 기술 등과 같은 어려움도 있겠지만 실제 프로그래머가 작성하는 소스코드의 복잡성도 그 원인중의 하나라 할 수 있다. 이와 같은 문제의 해결을 위해서는 소스코드의 접근이나 이의 테스트를 위한 결합 등의 유연성이 높은 소프트웨어 기술이 필요한 실정이다. 이에 따라 AOP(Aspect-Oriented Programming) 기술을 이용하여 소스코드 자체의 접근 및 그의 처리를 용이하게 하여 복잡한 시스템의 개발이나 기존 시스템의 관리에 있어 효율을 높이고자 한다.

  • PDF

코드와 모델의 일치성을 위한 코드 저장소 (The Code Repository for Consistency between Code and Model)

  • 오동은;김경민;김태웅;김태공
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 한국컴퓨터종합학술대회논문집 Vol.34 No.1 (B)
    • /
    • pp.143-147
    • /
    • 2007
  • 소프트웨어 개발 과정에서 산출된 설계 모델은 향후 시스템의 유지보수를 위해 꼭 필요한 산출물 중의 하나이며 시스템을 이해하는데 필수적인 요소이다. 그러나 다양한 요구사항의 변경에 따라 유지보수 단계를 거치면서 소스 코드에만 수정이 가해져 모델 정보와의 연계성이 없어지게 된다. 이에 본 논문에서는 소스 코드와 모델간의 일관성을 위한 코드 저장소를 제안한다. 모델 정보와 소스 코드와의 일관성을 지키기 위해서는 소스 코드에 있는 시스템의 행위적인 정보를 유지하는 것이 중요하다. 본 연구에서는 모델을 표현 할 수 있는 XMI를 이용하여 메타모델 기반의 코드 저장소를 구축함으로써 해결하고자 한다. 코드 저장소에는 소스 코드의 모든 정보를 추출하여 XMI 형태의 코드 모델로 저장되며 이 정보로부터 다시 실행 가능한 소스 코드를 생성할 수 있도록 한다.

  • PDF

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%를 달성했다.

회귀 분석을 사용한 소스 코드 가독성 메트릭 분석 (Metric Analysis of Source Code Readability using Regression Analysis)

  • 최상철;김순태;이정휴;유희경
    • 한국인터넷방송통신학회논문지
    • /
    • 제17권6호
    • /
    • pp.145-150
    • /
    • 2017
  • 소프트웨어 유지보수는 소프트웨어 생명주기에서 전체 비용의 많은 부분을 차지하고 있다. 소프트웨어를 유지보수하기 위해서는 코드를 읽는 것이 필수적이고, 이는 유지보수 활동에서 가장 많은 시간이 소요되는 활동이다. 코드의 가독성은 사람이 소스코드를 이해하는데 드는 어려움의 정도를 측정하는 메트릭이다. 코드의 가독성이 좋을수록 사람이 소스코드를 이해하기 쉬워진다. 본 논문에서는 소스코드의 가독성을 이분법적으로 판단하는 기존의 연구보다 향상된 기법을 사용하여, 개발 중인 소스코드의 가독성 정도를 정량적으로 측정할 수 있는 새로운 소스코드 가독성 메트릭을 제안한다. 이를 평가하기 위해, 우리는 설문조사를 수행하고 가독성을 가장 잘 설명하는 척도를 찾을 수 있도록 회귀 분석 기법을 사용해 그 결과를 분석할 것이다.

RTT(Round-Trip Translator) 기반의 UML과 소스코드 변환에 대한 연구 (A Study on Conversion Between UML and Source Code Based on RTT(Round-Trip Translator))

  • 김지용;조한주;김영종
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제8권9호
    • /
    • pp.349-354
    • /
    • 2019
  • 최근 프로그래밍 교육이 중요해짐에 따라, 객체지향 프로그래밍에 있어 작성한 소스코드가 어떻게 객체지향 개념을 반영하고 있는지를 분석하는 것은 중요하다. 본 논문에서는 UML과 소스코드의 실시간 동기화를 제공하는 웹 기반 환경에서 객체지향 개념을 분석 및 학습하기 위해 Unified Modeling Language(UML) 클래스 다이어그램과 자바 소스코드를 상호 변환하는 Round-Trip Translator(RTT)를 제안한다. RTT는 기존 Round-Trip Engineering(RTE)기반 도구를 개선시켜 구현 하였으며 작성된 UML 혹은 소스코드가 어떻게 객체지향 개념을 반영하는 지에 대한 이해도를 높이기 위한 도구이다. 본 논문은 기존 RTE 기반 도구와 RTT의 효율성과 사용자의 편의성을 비교한 결과 UML과 소스코드 상호 변환을 통해 객체지향에 대한 이해도가 향상되었음을 보여준다. 우리는 또한 학생들이 기존 도구보다 더 효율적이고 편리한 사용자 인터페이스를 제공하는 RTT 사용에 만족한다는 사실을 알아냈다.

Banders Toolset을 이용한 객체지향형 소프트웨어 모델 체킹 (Model Checking of Object Oriented Software using Bandera toolset)

  • 방기석;이주용;최진영
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (1)
    • /
    • pp.466-468
    • /
    • 2001
  • 객체지향형 소프트웨어가 개발되고 분산 시스템에 적용되면서 소프트웨어 시스템의 분석 및 안전상의 보장이 매우 어려워지고 있다. 정형 기법을 이용해서 소프트웨어 시스템의 안전성을 증명하는 연구가 진행되고 있지만 소스코드 레벨에서의 보장은 아직 어려운 상태이다. 본 연구에서는 이러한 소프트웨어 시스템의 소스코드 레벨에서의 안전성 보장을 위한 연구로 Bandera toolset 을 이용한 정형검증에 대해 논한다.

  • PDF

산업제어시스템의 소스코드 보안 취약점 검증 룰 선정을 위한 평가 기준 개발 (Development of evaluation criteria for selection of source code security vulnerability verification rules for industrial control systems)

  • 김은비;최이수;한동준
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2021년도 추계학술발표대회
    • /
    • pp.449-452
    • /
    • 2021
  • 산업제어시스템은 IT 기술의 발전에 따라 다양한 기기 환경과 네트워크를 적용해 진화하고 있다. 이러한 상황에서 사이버 보안의 위협은 가중되고 있으며, 이를 예방하는 방법의 하나로 산업제어시스템에 탑재되는 소프트웨어의 소스코드 개발 과정에서 보안 취약점을 예방하기 위해 소스코드 보안 룰을 적용하여 위반사항을 제거한다. 본 연구에서는 소스코드 보안 룰에서 적용 우선순위를 선정하기 위한 가이드를 개발한다.