• Title/Summary/Keyword: 소스코드

Search Result 744, Processing Time 0.031 seconds

Style Jigsaw for Teaching the Coding Style to Novice Programmers (프로그래밍 초보자의 코딩 스타일을 교육하기 위한 스타일 직소)

  • Jung, In-joon;Lee, Yun-jung;Woo, Gyun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.04a
    • /
    • pp.1414-1417
    • /
    • 2012
  • 현대의 프로그램들은 과거의 프로그램들에 비해 복잡성이 커졌다. 그러한 변화에 따라 협력 프로젝트가 과거에 비해 일반화 되었고, 프로그램의 디버깅이 어려워졌다. 현대의 프로그래머들에게는 원활한 협력 프로젝트의 진행과 쉬운 디버깅을 위해 코딩 스타일 준수의 중요성이 부각되고 있다. 프로그래머가 소스 코드를 작성할 때 코딩 스타일의 준수 여부는 가독성에 큰 영향을 미친다. 하지만 프로그래머가 코딩 스타일을 준수하지 않는다고 해도 눈에 보이는 에러가 발생하지 않는다. 그렇기 때문에 코딩 스타일은 초심자 시절의 교육이 중요하다. 이 논문에서는 효과적으로 코딩 스타일을 교육하기 위한 스타일 직소 프로그램을 구현하였다. 스타일 직소 프로그램은 코딩 스타일의 준수 정도 직소 퍼즐 형태로 보여주고, 코딩 스타일이 준수되지 않은 부분을 표시하여 줌으로써 보다 효과적으로 코딩 스타일 교육이 가능하게 한다. 본 논문에서 구현된 스타일 직소 효과를 확인하기 위해 부산대학교 컴퓨터공학과 학부 학생들을 대상으로 스타일 직소를 사용하여 코딩 스타일 교육을 실시하였다. Java 프로그래밍 교과 실습 수업에 스타일 직소 프로그램을 적용시켜 본 결과 64%의 학생이 스타일 직소가 코딩 스타일 향상에 도움이 되었다고 답하였고, 52%의 학생이 본 프로그램의 접근법이 흥미로웠다고 답하였다.

A Goal-Oriented Performance Management Model with DB Performance Index for Relational Database System (성능지수를 고려한 관계형 데이터베이스 시스템의 목표지향형 성능관리 모델)

  • Park, SangYong;Kim, Jeong-Dong;Baik, Doo-Kwon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2009.04a
    • /
    • pp.313-316
    • /
    • 2009
  • 관계형 데이터베이스를 사용하는 응용시스템들은 어플리케이션 소스 코드에 내재된 SQL을 통하여 데이터를 액세스하게 되며, SQL을 통한 데이터베이스 액세스 성능은 응용시스템의 성능에 결정적인 영향을 미치기 때문에, 관계형 데이터베이스시스템의 튜닝에 대해서는 많은 연구가 이루어져 왔다. 그러나 데이터베이스시스템 튜닝을 통해 얻은 성능 수준은 응용시스템의 변경이나 데이터 저장량 증가 등 여러 요인에 의해 다시 저하될 수 있으며, 이와 같은 성능 수준의 변화를 정량적으로 관리하면서 최소 비용으로 성능 수준을 유지할 수 있도록 튜닝 시점을 결정하는 방법에 대한 연구는 현재까지 연구된 바가 없다. 이 논문에서 제시하는 DB 성능지수와 이를 이용한 데이터베이스시스템의 성능관리 모델은 특정 벤더에 종속되지 않고 성능수준을 정량화함으로써 이해관계자들에게 성능 수준의 변화를 가시적으로 보이고 데이터베이스 관리자의 성능관리 및 튜닝 시점 판단을 지원하여 일정 수준의 성능을 유지할 수 있는 방법으로 활용될 수 있다.

Proposal of Git's Commit Message Complex Classification Model for Efficient S/W Maintenance (효율적인 S/W 유지관리를 위한 Git의 커밋메시지 복합 분류모델 제안)

  • Choi, Ji-Hoon;Kim, Jae-Woong;Lee, Youn-Yeoul;Chae, Yi-Geun;Kim, Joon-Yong
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2022.07a
    • /
    • pp.123-125
    • /
    • 2022
  • Git의 커밋 메시지는 프로젝트가 진행되면서 발생하는 각종 이슈 및 코드의 변경이력을 저장하고 관리하고 있기 때문에 소프트웨어 유지관리와 프로젝트의 생명주기와 밀접한 연관성을 갖고 있다. 이러한 Git의 커밋 메시지에 대한 정확한 분석 결과는 소프트웨어 개발 및 유지관리 활동 시, 시간과 비용의 효율적인 관리에 많은 영향을 끼치고 있다. 이에 대한 기존 연구로 Git에서 발생하는 커밋 메시지를 소프트웨어 유지관리의 세 가지 형태로 분류하고 매핑하여 정확한 분석을 시도하려는 연구가 진행되었으나, 최대 87%의 정확도를 제시한 연구 결과가 있었다. 이러한 연구들은 정확도가 낮아 실제 프로젝트의 개발 및 유지관리에 적용하기에는 위험성과 어려움이 있는 현실이다. 본 논문에서는 커밋 메시지 분류에 대한 선행 연구 조사를 통해 각 연구들의 프로세스와 특징을 추출하였고, 이를 이용한 분류 정확도를 높일 수 있는 커밋 복합 분류 모델에 대해 제안한다.

  • PDF

EDR platform construction using ELK Stack and Sysmon (ELK Stack과 Sysmon을 이용한 EDR 플랫폼 연구)

  • Shin, Hyun-chang;Kong, Seung-Jun;Oh, Myung-ho;Lee, Dong-hwi
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2022.10a
    • /
    • pp.333-336
    • /
    • 2022
  • With the development of IT technology, cybercrime is becoming sophisticated and intelligent. In particular, in the case of BackDoor, which is used in the APT attack (intelligent continuous attack), it is very important to detect malicious behavior and respond to infringement because it is often unaware that it has been damaged by an attacker. This paper aims to build an EDR platform that can monitor, analyze, and respond to malicious behavior in real time by collecting, storing, analyzing, and visualizing logs in an endpoint environment in real time using open source-based analysis solutions ELK Stack and Sysmon.

  • PDF

A method of Feature - OWL Transformation using Ontology (온톨로지를 이용한 Feature - OWL 모델 변환기법)

  • Kim, Dong-Ri;Song, Chee-Yang;Baik, Doo-Kwon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2008.05a
    • /
    • pp.249-252
    • /
    • 2008
  • 소프트웨어 제품 개발에 있어서 생산성 증가와 비용 절감을 위해 기존 생성된 산출물의 재사용이 중요시 되고 있다. 이 재사용의 초점은 소스 코드의 재사용에서, 설계의 재사용, 도메인 공학에 초점을 둔 재사용으로 발전 되어 왔고, 재사용 자원을 만들기 위한 도메인 분석방법에 대한 연구가 이루어지고 있다. 현재 유사한 도메인에 대한 온톨로지 기반 feature 공통성과 가변성 분석 기법에 대한 연구가 있으나, feature 와 온톨로지에 대한 메타모델 차원의 명확한 분석과 모델들간의 매핑 프로파일이 없어서 일관성 있는 변환을 저해하고 있다. 본 논문에서는 메타모델 차원에서 온톨로지를 이용한 feature 모델과 OWL 간의 변환 방법을 제시한다. 이를 위해 feature 와 OWL 에 대한 메타모델을 정의하고, 이 속성들에 기반하여 feature 모델과 OWL 간 변환 프로파일과 알고리즘을 생성한다. 그리고 제시한 변환 규칙을 이용하여 전자결재 시스템을 통해 실제 적용함으로써 일관성 있는 모델 변환을 보여준다.

Method for Evaluating the Security Risk based on Webpage Source Code (웹 페이지 소스 코드에 기반한 보안 위험도 산정 기법)

  • Cho, Sanghyun;Lee, Min-Soo;Kim, Young-Gab;Lee, Junsub;Kim, Sangrok;Kim, Moon-Jeong;Kim, In Ho;Kim, Sung Hoon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2007.11a
    • /
    • pp.1258-1261
    • /
    • 2007
  • 온라인 피싱과 같은 경제적 목적의 정보 수집 행위들이 급격히 증가하고 있는 가운데, 위험 사이트 정보를 관리하는 블랙리스트 기반의 대응과 신뢰할 수 있는 사이트를 기반으로 하는 화이트 리스트 접근 방법이 활용되고 있다. 그러나 블랙리스트 기반 방법은 피싱 사이트의 유효시간을 볼 때 비현실적이며, 화이트 리스트 접근 방법은 인증된 사이트 내에 존재하는 악성 웹 페이지나 악성 사이트로 유도되는 피싱 메일에는 대응하기 어렵다. 이 논문에서는 화이트 리스트 접근 방법을 보완하기 위해 사용자 웹 페이지의 위험도를 정량화 할 수 있는 웹 페이지 위험도 산정 기법을 제안한다.

Attacking OpenSSL Shared Library Using Code Injection (코드 주입을 통한 OpenSSL 공유 라이브러리의 보안 취약점 공격)

  • Ahn, Woo-Hyun;Kim, Hyung-Su
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.37 no.4
    • /
    • pp.226-238
    • /
    • 2010
  • OpenSSL is an open-source library implementing SSL that is a secure communication protocol. However, the library has a severe vulnerability that its security information can be easily exposed to malicious software when the library is used in a form of shared library on Linux and UNIX operating systems. We propose a scheme to attack the vulnerability of the OpenSSL library. The scheme injects codes into a running client program to execute the following attacks on the vulnerability in a SSL handshake. First, when a client sends a server a list of cryptographic algorithms that the client is willing to support, our scheme replaces all algorithms in the list with a specific algorithm. Such a replacement causes the server to select the specific algorithm. Second, the scheme steals a key for data encryption and decryption when the key is generated. Then the key is sent to an outside attacker. After that, the outside attacker decrypts encrypted data that has been transmitted between the client and the server, using the specified algorithm and the key. To show that our scheme is realizable, we perform an experiment of collecting encrypted login data that an ftp client using the OpenSSL shared library sends its server and then decrypting the login data.

A Study on Scalability of Profiling Method Based on Hardware Performance Counter for Optimal Execution of Supercomputer (슈퍼컴퓨터 최적 실행 지원을 위한 하드웨어 성능 카운터 기반 프로파일링 기법의 확장성 연구)

  • Choi, Jieun;Park, Guenchul;Rho, Seungwoo;Park, Chan-Yeol
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.9 no.10
    • /
    • pp.221-230
    • /
    • 2020
  • Supercomputer that shares limited resources to multiple users needs a way to optimize the execution of application. For this, it is useful for system administrators to get prior information and hint about the applications to be executed. In most high-performance computing system operations, system administrators strive to increase system productivity by receiving information about execution duration and resource requirements from users when executing tasks. They are also using profiling techniques that generates the necessary information using statistics such as system usage to increase system utilization. In a previous study, we have proposed a scheduling optimization technique by developing a hardware performance counter-based profiling technique that enables characterization of applications without further understanding of the source code. In this paper, we constructed a profiling testbed cluster to support optimal execution of the supercomputer and experimented with the scalability of the profiling method to analyze application characteristics in the built cluster environment. Also, we experimented that the profiling method can be utilized in actual scheduling optimization with scalability even if the application class is reduced or the number of nodes for profiling is minimized. Even though the number of nodes used for profiling was reduced to 1/4, the execution time of the application increased by 1.08% compared to profiling using all nodes, and the scheduling optimization performance improved by up to 37% compared to sequential execution. In addition, profiling by reducing the size of the problem resulted in a quarter of the cost of collecting profiling data and a performance improvement of up to 35%.

A Benchmark of AI Application based on Open Source for Data Mining Environmental Variables in Smart Farm (스마트 시설환경 환경변수 분석을 위한 Open source 기반 인공지능 활용법 분석)

  • Min, Jae-Ki;Lee, DongHoon
    • Proceedings of the Korean Society for Agricultural Machinery Conference
    • /
    • 2017.04a
    • /
    • pp.159-159
    • /
    • 2017
  • 스마트 시설환경은 대표적으로 원예, 축산 분야 등 여러 형태의 농업현장에 정보 통신 및 데이터 분석 기술을 도입하고 있는 시설화된 생산 환경이라 할 수 있다. 근래에 하드웨어적으로 급증한 스마트 시설환경에서 생산되는 방대한 생육/환경 데이터를 올바르고 적합하게 사용하기 위해서는 일반 산업 현장과는 차별화 된 분석기법이 요구된다고 할 수 있다. 소프트웨어 공학 분야에서 연구된 빅데이터 처리 기술을 기계적으로 농업 분야의 빅데이터에 적용하기에는 한계가 있을 수 있다. 시설환경 내/외부의 다양한 환경 변수는 시계열 데이터의 난해성, 비가역성, 불특정성, 비정형 패턴 등에 기인하여 예측 모델 연구가 매우 난해한 대상이기 때문이라 할 수 있다. 본 연구에서는 근래에 관심이 급증하고 있는 인공신경망 연구 소프트웨어인 Tensorflow (www.tensorflow.org)와 대표적인 Open source인 OpenNN (www.openn.net)을 스마트 시설환경 환경변수 상호간 상관성 분석에 응용하였다. 해당 소프트웨어 라이브러리의 운영환경을 살펴보면 Tensorflow 는 Linux(Ubuntu 16.04.4), Max OS X(EL capitan 10.11), Windows (x86 compatible)에서 활용가능하고, OpenNN은 별도의 운영환경에 대한 바이너리를 제공하지 않고 소스코드 전체를 제공하므로, 해당 운영환경에서 바이너리 컴파일 후 활용이 가능하다. 소프트웨어 개발 언어의 경우 Tensorflow는 python이 기본 언어이며 python(v2.7 or v3.N) 가상 환경 내에서 개발이 수행이 된다. 주의 깊게 살펴볼 부분은 이러한 개발 환경의 제약으로 인하여 Tensorflow의 주요한 장점 중에 하나인 고속 연산 기능 수행이 일부 운영 환경에 국한이 되어 제공이 된다는 점이다. GPU(Graphics Processing Unit)의 제공하는 하드웨어 가속기능은 Linux 운영체제에서 활용이 가능하다. 가상 개발 환경에 운영되는 한계로 인하여 실시간 정보 처리에는 한계가 따르므로 이에 대한 고려가 필요하다. 한편 근래(2017.03)에 공개된 Tensorflow API r1.0의 경우 python, C++, Java언어와 함께 Go라는 언어를 새로 지원하여 개발자의 활용 범위를 매우 높였다. OpenNN의 경우 C++ 언어를 기본으로 제공하며 C++ 컴파일러를 지원하는 임의의 개발 환경에서 모두 활용이 가능하다. 특징은 클러스터링 플랫폼과 연동을 통해 하드웨어 가속 기능의 부재를 일부 극복했다는 점이다. 상기 두 가지 패키지를 이용하여 2016년 2월부터 5월 까지 충북 음성군 소재 딸기 온실 내부에서 취득한 온도, 습도, 조도, CO2에 대하여 Large-scale linear model을 실험적(시간단위, 일단위, 주단위 분할)으로 적용하고, 인접한 세그먼트의 환경변수 예측 모델링을 수행하였다. 동일한 조건의 학습을 수행함에 있어, Tensorflow가 개발 소요 시간과 학습 실행 속도 측면에서 매우 우세하였다. OpenNN을 이용하여 대등한 성능을 보이기 위해선 병렬 클러스터링 기술을 활용해야 할 것이다. 오프라인 일괄(Offline batch)처리 방식의 한계가 있는 인공신경망 모델링 기법과 현장 보급이 불가능한 고성능 하드웨어 연산 장치에 대한 대안 마련을 위한 연구가 필요하다.

  • PDF

HTTP Request - SQL Query Mapping Scheme for Malicious SQL Query Detection in Multitier Web Applications (Multitier 웹 어플리케이션 환경에서 악의적인 SQL Query 탐지를 위한 HTTP Request - SQL Query 매핑 기법)

  • Seo, Yeongung;Park, Seungyoung
    • Journal of KIISE
    • /
    • v.44 no.1
    • /
    • pp.1-12
    • /
    • 2017
  • The continuously growing internet service requirements has resulted in a multitier system structure consisting of web server and database (DB) server. In this multitier structure, the existing intrusion detection system (IDS) detects known attacks by matching misused traffic patterns or signatures. However, malicious change to the contents at DB server through hypertext transfer protocol (HTTP) requests at the DB server cannot be detected by the IDS at the DB server's end, since the DB server processes structured query language (SQL) without knowing the associated HTTP, while the web server cannot identify the response associated with the attacker's SQL query. To detect these types of attacks, the malicious user is tracked using knowledge on interaction between HTTP request and SQL query. However, this is a practical challenge because system's source code analysis and its application logic needs to be understood completely. In this study, we proposed a scheme to find the HTTP request associated with a given SQL query using only system log files. We first generated an HTTP request-SQL query map from system log files alone. Subsequently, the HTTP request associated with a given SQL query was identified among a set of HTTP requests using this map. Computer simulations indicated that the proposed scheme finds the HTTP request associated with a given SQL query with 94% accuracy.