$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

흐름 그래프 형태를 이용한 함수형 프로그램 유사성 비고

A Program Similarity Check by Flow Graphs of Functional Programs

정보과학회논문지. Journal of KIISE. 소프트웨어 및 응용, v.32 no.4, 2005년, pp.290 - 299  

서선애 (한국과학기술원 전산학과) ,  한태숙 (한국과학기술원 전산학과)

초록
AI-Helper 아이콘AI-Helper

컴퓨터와 소프트웨어의 사용이 증가하면서, 프로그램 소스의 도용(표절)이 사회적인 문제로 부각되고 있다. 이런 문제를 해결하고자 프로그램의 문법 구조를 비교하여 표절을 찾아내는 방법론이 제안되었지만, 간단한 프로그램 수정에도 표절을 찾아내지 못하는 한계를 가지고 있다 이 연구에서는, 문법 구조적인 정보 뿐 아니라, 프로그램식 간의 수행시 의존 관계를 드러내는 그래프를 이용한 프로그램 표절 감지 시스템을 제안한다. 이 방법론은 문법 정보 뿐 아니라, 수행시 의존 관계까지 비교 대상에 을림으로써, 수행시 의콘 관계를 변화시키지 못하는 프로그램 수정에 대해서도 프로그램 표절을 판별할 수 있다. 또한, 이 연구에서는 표절 프로그램이란 무엇인가를 엄밀하게 정의하고 이 표절 프로그램의 정의와 연구에서 제안된 표:늰 감별 그래프와의 관계를 보였다. 즉, 두 프로그램이 표절이라는 것은 표절 감별 그래프가 일치한다는 긴과 필요 충분 관계가 있음을 증명하였다. 또한 제안된 표절 감별 방법론을 실제적인 프로그래밍 언어인 IML 에 대해서 구현하였다. 구현된 도구를 통해서 실제 표절된 프로그램들을 감별한 결과, 기존의 방법에서 찾기 어려운 프로그램 표절을 제안된 방법론이 다룰 수 있음을 확인하였다.

Abstract AI-Helper 아이콘AI-Helper

Stealing the source code of a program is a serious problem not only in a moral sense but also in a legal sense. However, it is not clear whether the code of a program is copied from another or not. There was a program similarity checker detecting code-copy by comparing the syntax trees of programs. ...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 본 연구는 기존의 연구들에서 벗어나지 못한 문법 구 조 기반의 비교를 벗어나서, 실제 프로그램 흐름 정보를 드러내는 새로운 구조를 제안한다. 연구에서 사용되는 흐름 정보는 프로그램 분석을 이용한 정확한 흐름 분석 이므로 [7]에서 人'용한 프로그램 흐름 예측과 매우 다르 다.
  • 연구에서 제안하는 표절 감별 그래프를 이용하면 기존의 연구에서 감별하지 못하는 프로그램 표절을 감별해 낼 수 있다. 이 연구에서는 “프로그램 표절”를 명확히 정의하 고, “프로그램 표절”과 “표절 감별 그래프의 일치”에 대해서 이론적인 맥을 세우고자 한다.
  • 이 연구에서는, 문법의 구조적인 정보 뿐 아니라, 프 로그램식 간의 수행시 의존 관계도 드러내는 그래프를 이용한 프로그램 표절 감지 시스템을 제안한다. 연구에서 제안하는 표절 감별 그래프를 이용하면 기존의 연구에서 감별하지 못하는 프로그램 표절을 감별해 낼 수 있다.

가설 설정

  • 단, /'는 프로그램식 。'에 나타나는 변수들이고, 로 치환할 때 气 속의 묶인(bound) 변수들과 레 이블들은 새로운 변수들과 새로운 레이블로 바뀌어 있다고 가정한다. □
  • 보조 정리 2. 质(P네 느 P, 단 R 는 F의 끼운 프 로그램이고, 厂T|[R(3네와 P, 에 나타나는 변수 이름은 전역 변수를 제외하고는 다르다고 가정한다.
  • 일반적으로 임의의 표절 감별 그래프에 대해 연관된 프로그램이 항상 존재하지는 않는다. 우리는 안전성을 위해서 임의의 표절 감별 그래프를 고려하지 않고, 제한 된 형태의 표절 감별 그래프만을 가정한다. 제한된 형태의 표절 감별 그래프는 존재하는 프로그램으로부터 만 들어진 그래프이다.
  • De Bruijn 표기법을 포함하는 변형된 프로그램 문법 은 그림 2와 같다. 이 문법 구조는 두 가지 가정을 한 다: (1) 모든 프로그램식은 유일한 레이블을 가진다, (2) 모든 프로그램 변수는 서로 다르다.
본문요약 정보가 도움이 되었나요?

참고문헌 (10)

  1. 장성순, 서선애, 이광근, '프로그램 유사성 검증기', 한국정보과학회,가을 학술 회의, 제 28권,pp. 334-336, 2001년 10월 

  2. 서선애, 한태숙, '흐름 그래프 형태를 이용한 프로그램 유사성 비교' 학술 논문, 한국과학기술원 전산학과 프로그래밍 언어 연구, 2004년 10월. http://ropas.kaist.ac.kr/-saseo/papers/kor_simil_long.pdf 

  3. Dick Grune, 'SIM: The software and text similarity tester SIM,' http://www.few.vu.nl/-dick/sim.html 

  4. M.J. Wise. 'YAP3: improved detection of similarities in computer programs and other texts,' SIGCSEB: SIGCSE Bulletin (ACM Special Interest Group on Computer Science Education),' volume 28, 1996 

  5. Alex Aiken, 'Moss: a system for detecting software plagiarism,' http://ftp.cs.berkeley.edu/ -aiken/moss. html 

  6. Guido Malpohl, 'JPlag:Detection Software Plagiarism,' http://wwwipd.ira.uka.de:2222/ 

  7. 황미녕, 강은미, 조환규, '유전체 서열의 정렬 기법을 이용한 소스 코드 표절 검사' 한국정보과학회. 2002년 제21회 논문경진대회 최우수상. 2002년 6월. http//jade.cs.pusan.ac.kr/bioinformatics/bio.html 

  8. 이평준, 전명재, 조환규, '재귀적 지역정렬을 이용한 프로그램 표절 탐색' 한국정보과학회 봄 학술 회의, 2004년 4월 

  9. N. De Bruijn, 'Lambda-calculus Notation with Nameless Manipulation,' A Toolfor Automatic Formula Manipulation, volume 34, pp. 381-392, 1972 

  10. 이광근, 이욱세, 어현준, 김정택, 최용식, 류석영, 강현구, 서선애, 장성순, 김범식,'nML 컴파일러 시스템 (status report)'. 한국정보과학회 가을 학술 회의, 제 28권. pp. 340-342, 2001년 10월 http://ropas. kaist.ac.kr/n 

저자의 다른 논문 :

섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트