• 제목/요약/키워드: 소스코드

검색결과 739건 처리시간 0.03초

Parse Tree Kernel을 이용한 소스코드 표절 검출 (Program Plagiarism Detection Using Parse Tree Kernels)

  • 손정우;박성배;이상조;박세영
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 한국컴퓨터종합학술대회 논문집 Vol.33 No.1 (B)
    • /
    • pp.157-159
    • /
    • 2006
  • 표절이란 원작자의 허락 없이 저작물의 일부분 혹은 전체를 사용하는 것이다. 이는 특히 대학의 프로그래밍 코스에서 심각한 문제가 된다. 이를 해결하기 위해 많은 표절 검출 시스템이 연구되어 왔으나 복사된 소스코드에 필요 없는 코드를 첨가할 경우, 성능이 낮아지는 문제가 있었다. 이 문제는 기존 시스템이 소스코드의 구조적인 정보를 효율적으로 다루지 않았기 때문이다. 본 논문에서는 Parse Tree Kernels를 이용한 소스 코드 표절 검출 시스템을 제안한다. 제안한 시스템은 Parse Tree Kernels를 이용하여 소스코드의 구조적 정보를 효과적으로 다룬다. 이를 보이기 위한 실험에서는 기존의 표절 검출 시스템인 SID, JPlag와 비교하여 제안한 시스템이 소스 코드의 구조적 정보를 기존 시스템에 비해 효율적으로 이용하고 있음을 보였다.

  • PDF

퍼징 기반의 상용 및 공개 소프트웨어에 대한 보안약점 진단 방법 연구

  • 임기영;강성훈;김승주
    • 정보보호학회지
    • /
    • 제26권1호
    • /
    • pp.27-33
    • /
    • 2016
  • 보안 약점은 소스코드의 공개 여부와는 관계없이 존재하며, 소프트웨어의 취약점으로 이어질 수 있다. 소스코드가 공개된 소프트웨어의 경우 소스 코드 분석을 통해 보안 약점을 제거하지만, 소스코드가 공개되지 않고 바이너리 형태의 실행파일만 제공되는 소프트웨어의 경우에는 보안 약점을 찾기가 어렵다. 비정상 데이터를 임의로 생성하여 파일 또는 표준입력 형태로 입력하는 퍼징 기법은 위와 같은 소스코드가 공개되지 않은 소프트웨어의 취약점을 찾기 위한 기술이다. 본 논문에서는 소스코드가 없는 상용 및 공개 소프트웨어의 보안 약점을 진단하기 위해 퍼징 기법을 활용하는 방법을 제시하고, 공개된 퍼징 도구 및 프레임워크를 이용하여 설치부터 소프트웨어의 진단 및 발견된 보안 약점을 분석, 제거 등의 퍼징 프로세스를 소개하여 상용 및 공개 소프트웨어 취약점 발견에 도움을 줄 것으로 기대한다.

code2vec을 이용한 유사도 감정 도구의 성능 개선 (Enhancing the performance of code-clone detection tools using code2vec)

  • 엄태호;홍성문;양준혁;장효석;도경구
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제17권1호
    • /
    • pp.31-40
    • /
    • 2021
  • 소스코드 표절은 원본 자료의 출처를 분명히 밝히지 않고 자신의 것처럼 사용하는 행위를 말한다. 소스코드 표절로 인한 문제는 법적인 분쟁을 다투는 경우까지 다양한 문제를 일으킨다. 소스코드의 표절 여부는 일반적으로 비교 대상 소프트웨어 프로젝트 내의 각 소스코드를 전수 비교하여 유사도를 측정하여 결정한다. 전수 비교는 표절 가능성이 전혀 없는 코드도 비교 대상에 포함하기 때문에 그만큼의 시간을 헛되이 소모한다. 소스코드 표절로 의심되는 비교 쌍만 선별하여 비교할 수 있으면 그만큼 비교 횟수는 줄어들게 되어 탐지 도구의 실행 속도를 향상시킬 수 있을 뿐만 아니라, 표절 가능성이 높은 부분만을 대상으로 탐지의 정확도를 높이는데 집중할 수도 있다. 본 논문에서는 code2vec 이라는 기계학습 모델을 활용하여 코드 클론으로 의심되는 소스코드들을 미리 분류하여 비교 횟수를 줄임으로써 소스코드 표절 탐지의 성능을 개선할 수 있음을 보인다.

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

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

  • PDF

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

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

자바소스코드 유사도 측정 시스템 (Java source code Similarity Measurement System)

  • 김은혜;이송아;허준;한경숙;오용철
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2007년도 가을 학술발표논문집 Vol.34 No.2 (C)
    • /
    • pp.536-539
    • /
    • 2007
  • JSMS(Java source code Similarity Measurement System)는 자바 소스 코드의 유사도를 측정하고 이와 관련한 소스코드의 정보를 시각적으로 표시하는 시스템이다. 기존의 표절 검사 시스템은 소스코드의 구조적 특징을 반영하지 못해 유사도 결과의 신뢰성이 낮고 대부분 편리성과 가독성이 좋지 않아 사용하기 불편하였다. 본 논문에서 제안하는 JSMS는 이러한 단점을 보완하기 위해 함수 선형화를 사용하여 소스코드의 구조적 특징을 반영하였다. 또한 쉽고 간단한 조작으로 편리성을 제공하며, 관련 정보와 유사 구간을 시각적으로 표시하여 가독성을 높였다. 향후 다양한 언어 지원과 폭넓은 시각적 정보 제공을 보완하여 사용자의 학습 자료로 사용할 수 있으며, 소스코드 표절의 객관적 기준이 되는 도구로 활용 가능하다.

  • PDF

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

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

자바 바이트코드를 대상으로 하는 메소드 수준 뮤테이션 연산자 (Method-level Mutation Operators for Java Byte-Code)

  • 신종민;마유승;권용래
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 한국컴퓨터종합학술대회 논문집 Vol.32 No.1 (B)
    • /
    • pp.307-309
    • /
    • 2005
  • 컴퓨터 성능의 향상으로 고비용의 수행을 요하는 뮤테이션 분석 기법의 적용 가능성이 커지면서, 객체지향 프로그램을 대상으로, 특히 자바 프로그램에 대하여, 뮤테이션 분석 기법에 관한 연구가 수행되었다. 자바의 경우, 바이트 코드를 이용한다면 소스코드 없이 오류 프로그램인 뮤턴트들을 생성할 수 있을 뿐만 아니라, 소스코드를 이용할 때보다 뮤테이션 분석을 빨리 수행할 수 있는 장점이 있다. 하지만 현재 이러한 장점을 효율적으로 활용할 수 있는 바이트 코드 수준의 연산자는 나와있지 않다. 본 논문에서는 자바 바이트 코드를 대상으로 하는 메소드 수준의 뮤테이션 연산자를 정의한다. 개발한 뮤테이션 연산자는 소스코드 수준에서 사용자가 범할 수 있는 오류만을 대상으로 한다. 따라서 소스 코드를 대상으로 하는 뮤테이션 분석의 기능을 모두 보여주면서, 성능향상을 가져다 준다.

  • PDF

예약어 시퀀스 탐색을 통한 소스코드 표절검사 (Source Codes Plagiarism Detection By Using Reserved Word Sequence Matching)

  • 이영주;김승;강석호
    • 한국경영과학회:학술대회논문집
    • /
    • 대한산업공학회/한국경영과학회 2006년도 춘계공동학술대회 논문집
    • /
    • pp.1198-1206
    • /
    • 2006
  • 프로그램 소스코드 표절 검사에 대한 기존 방법은 크게 지문(finger-print)법과 구조기반 검사법으로 나뉘며, 주로 단어의 유사성이나 발생빈도를 사용하거나 소스코드 구조상의 특징으로 두 소스간의 유사성을 비교한다. 본 연구에서는 프로그래밍 언어의 예약어 시퀀스를 사용하여 소스코드들 간의 유사성을 비교하고, 이 결과를 FCA(Formal Concept Analysis)를 통해 해석하고 시각화 하는 방법을 제시한다. 일반적인 VSM(Vector Space Model)과 같은 단일 단어 분석으로는 단어의 인접성을 구분할 수 없으므로 단어의 시퀀스 분석이 가능하도록 알고리즘을 구성하였으며 이러한 방식은 지문법의 단점인 소스코드의 부분적인 표절 탐지의 난점을 해결할 수 있고 함수의 호출 순서나 수행 순서에 상관없이 표절을 탐지할 수 있는 장점을 가진다. 마지막으로 유사도 측정결과는 FCA를 이용하여 격자(lattice)로 시각화됨으로써 이용자의 이해도를 높일 수 있다.

  • PDF

Statechart에서의 XMI기반 소스코드생성 알고리듬 구현 연구 (Implementation of code generation algorithm for Statechart based on XMI)

  • 김진만;임좌상
    • 한국IT서비스학회:학술대회논문집
    • /
    • 한국IT서비스학회 2008년도 추계학술대회
    • /
    • pp.277-280
    • /
    • 2008
  • MDA는 UML과 XMI 표준을 사용해 플랫폼에 무관한 설계모델에서 플랫폼에 의존적인 실행 가능한 모델을 생산하는 것이다. 본 연구에서는 UML의 Statechart를 대상으로 XMI 정보를 추출하고 이로부터 Java 소스코드를 자동 생성하는 알고리듬을 구현하였다. 에어컨 시스템을 사례로 비즈니스 로직이 포함된 소스코드를 자동 생성하는 알고리듬을 구현하였으며 XMI의 사용으로 두 개의 다른 CASE 도구 각각에서 설계된 모델이 동일한 소스코드를 생성함을 확인 했다.

  • PDF