http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
김연어 ( Yeoneo Kim ),천준석 ( Junseok Cheon ),우균 ( Gyun Woo ) 한국정보처리학회 2017 한국정보처리학회 학술대회논문집 Vol.24 No.1
스마트폰 보급률이 올라감에 따라 마켓에 등록되는 앱 또한 폭발적으로 증가하고 있다. 이에 따라 앱을 대상으로 하는 다양한 연구가 진행되고 있어 연구자에게 다양한 앱을 모으는 작업이 중요해지고 있다. 이 논문에서는 안드로이드 앱을 효율적으로 저장하는 저장소를 제안하고자 한다. 제안 시스템은 임의의 앱을 입력으로 받아 자동으로 분류 후 기존 앱과 차이점만을 저장하는 것으로 용량 절감 효과가 있다. 이 논문에서는 실험을 통해 제안 시스템이 앱을 자동으로 분류함을 보였으며, 35개 앱(7종의 서로 다른 앱 5개)을 대상으로 실험한 경우 약 37∼40%의 용량 절감 효과가 있는 것으로 나타났다.
클래스 구조 그래프 비교를 통한 프로그램 표절 검사 방법
김연어(Yeoneo Kim),이윤정(Yun-Jung Lee),우균(Gyun Woo) 한국콘텐츠학회 2013 한국콘텐츠학회논문지 Vol.13 No.11
코드 이동성이 증가함에 따라 코드 도용이 문제가 되고 있으며 이를 대처하기 위해 프로그램 비교를 위한 연구가 많이 진행되고 있다. 이 논문은 클래스 구조를 이용하여 Java 프로그램의 표절을 검사하는 방법을 제안한다. 제안 방법은 멤버 변수와 메소드 간의 참조 관계를 나타내는 그래프를 생성한다. 변수 참조 관계는 이분 그래프 형태로 나타나는데 이렇게 생성된 그래프를 대상으로 그래프 동형 검사를 적용하여 프로그램 간의 유사도를 측정한다. 이 논문에서는 제안 방법의 효과를 입증하기 위해 2012년 부산대학교 객체지향 프로그래밍 과제로 제출된 Java 프로그램을 대상으로 실험하였다. 그리고 제안 방법의 정확도를 평가하기 위해 기존 유사도 검사 프로그램인 JPlag와 Stigmata를 대상으로 F-measure 지표를 이용해 비교하였다. 그 결과 제안 방법의 F-measure가 JPlag보다 0.17, Stigmata보다 0.34 높은 것으로 나타났다. Recently, lots of research results on program comparison have been reported since the code theft become frequent as the increase of code mobility. This paper proposes a plagiarism detection method using class structures. The proposed method constructs a graph representing the referential relationship between the member variables and the methods. This relationship is shown as a bipartite graph and the test for graph isomorphism is applied on the set of graphs to measure the similarity of the programs. In order to measure the effectiveness of this method, an experiment was conducted on the test set, the set of Java source codes submitted as solutions for the programming assignments in Object-Oriented Programming course of Pusan National University in 2012. In order to evaluate the accuracy of the proposed method, the F-measure is compared to those of JPlag and Stigmata. According to the experimental result, the F-measure of the proposed method is higher than those of JPlag and Stigmata by 0.17 and 0.34, respectively.
Haskell Eval 모나드와 Cloud Haskell 간의 성능 비교
김연어(Yeoneo Kim),안형준(Hyungjun An),변석우(Sugwoo Byun),우균(Gyun Woo) 한국정보과학회 2017 정보과학회논문지 Vol.44 No.8
최근 CPU 시장은 단일 코어의 속도 상승에서 코어의 수를 늘려가는 방향으로 변하고 있다. 이러한 상황에서 매니코어 프로세서의 자원을 최대한 사용할 수 있는 병렬 프로그래밍에 관한 관심이 높아지고 있다. 이 논문에서는 병렬 프로그래밍에 적합한 Haskell을 이용하여 매니코어 환경에 적합한 병렬프로그래밍 모델을 확인하고자 한다. 이를 위해 이 논문에서는 Eval 모나드와 Cloud Haskell을 이용하여 표절 검사 병렬 프로그램과 K-평균 병렬 프로그램을 개발하였다. 그리고 개발된 프로그램을 대상으로 32코어 환경, 120코어 환경에서 성능을 측정하였다. 측정 결과 적은 코어 수에서는 Eval 모나드가 유리한 것으로 나타났다. 하지만 코어 수가 늘어남에 따라 Cloud Haskell이 실행 시간 기준으로 37%, 확장성 기준으로 134% 더 우수한 것으로 나타났다. Competition in the modern CPU market has shifted from speeding up the clock speed of a single core to increasing the number of cores. As such, there is a growing interest in parallel programming to maximize the use of resources of many core processors. In this paper, we propose parallel programming models in Haskell to find an advisable parallel programming model for many-core environments. Specifically, we used Eval monad and Cloud Haskell to develop two versions of parallel programs: plagiarism detection and K-means. Then, we evaluated the performance of the developed programs in 32-core and 120-core environments. The results of our experiment show that the Eval monad is highly efficient in an environment with a small number of cores. On the other hand, the Cloud Haskell runtime shows 37% improvement over Eval monad and the scalability shows a 134% improvement over Eval monad as the number of cores increases.
C 시큐어 코딩 규칙 분류를 통한 실행 안전성을 보장하는 한글 언어 설계
김연어(Yeoneo Kim),송지원(Jiwon Song),우균(Gyun Woo) 한국정보과학회 2015 정보과학회논문지 Vol.42 No.4
요즘에는 대부분 정보가 전산화되어 다루어지고 있기 때문에 전산화된 정보의 안전성을 높이는 것이 매우 중요하다. 하지만 코딩 실수로 발생하는 많은 메소드 오용 때문에 소프트웨어 자체가 취약해짐에 따라 정보의 안전성이 위협받을 수 있다. 해킹 공격을 원천적으로 차단하여 정보의 안전성을 높이기 위해 시큐어 코딩 가이드가 제안된 바 있지만, C와 Java 프로그래머를 위주로 작성되었기 때문에 다른 프로그래밍 언어에서는 적용하기 어렵다. 이 논문에서는 다른 프로그래밍 언어에도 사용할 수 있도록 시큐어 코딩 가이드의 규칙을 재분류한다. 구체적으로 행정자치부에서 발표한 C 시큐어 코딩 가이드를 이용하였다. 그리고 이 분류에 따라 구별된 규칙을 새로 제안한 한글 프로그래밍 언어인 새싹에 적용해 보았다. 그 결과 새싹에서는 C 언어 대비 점검해야 할 취약점 규칙의 수가 52% 줄어든 것으로 나타났다. Since most of information is computerized nowadays, it is extremely important to promote the security of the computerized information. However, the software itself can threaten the safety of information through many abusive methods enabled by coding mistakes. Even though the Secure Coding Guide has been proposed to promote the safety of information by fundamentally blocking the hacking methods, it is still hard to apply the techniques on other programming languages because the proposed coding guide is mainly written for C and Java programmers. In this paper, we reclassified the coding rules of the Secure Coding Guide to extend its applicability to programming languages in general. The specific coding guide adopted in this paper is the C Secure Coding Guide, announced by the Ministry of Government Administration and Home Affairs of Korea. According to the classification, we applied the rules of programming in Sprout, which is a newly proposed Korean programming language. The number of vulnerability rules that should be checked was decreased in Sprout by 52% compared to C.
새로운 언어 설계의 지침을 위한 C 시큐어 코딩 규칙 분류
김연어 ( Yeoneo Kim ),우균 ( Gyun Woo ) 한국정보처리학회 2014 한국정보처리학회 학술대회논문집 Vol.21 No.1
현대 사회에서 정보보안은 무엇보다 중요한 요소로 자리 잡고 있다. 시큐어 코딩은 정보보안 기법의 하나로 보안 취약점을 원천적으로 차단하여 보안 비용을 획기적으로 줄이는 방법이다. 하지만 기존 시큐어 코딩 가이드는 C나 Java와 같은 특정 언어에 대한 가이드만 제공하고 있다. 이 논문에서는 다양한 언어에서도 기존의 시큐어 코딩 가이드를 활용할 수 있도록 언어적 특징을 기반으로 시큐어 코딩가이드를 재분류하고자 한다. 이를 위해 이 논문에서는 많은 언어의 기반이 되는 C 언어의 시큐어 코딩 가이드 중 안전행정부에서 발표한 C 시큐어 코딩 가이드를 이용하여 재분류 작업을 수행하였다. 그 결과 총 58개의 취약점 중 언어와 관련이 있는 취약점은 19개로 약 33%가 프로그래밍 언어와 관련 있는 것을 확인하였다. 또한, 제안 방법의 내용 중 언어적 특성쪽의 취약성을 모두 해결할 수 있도록 문법을 설계한다면 C 언어보다 보안성이 높은 언어를 설계할 수 있다.