• Title/Summary/Keyword: 소스 코드 분석

Search Result 341, Processing Time 0.034 seconds

Implementation and Experimentation of StyleJigsaw for Programming Beginners (프로그래밍 초보자를 위한 스타일직소의 구현과 실험)

  • Lee, Yun-Jung;Jung, In-Joon;Woo, Gyun
    • The Journal of the Korea Contents Association
    • /
    • v.13 no.2
    • /
    • pp.19-31
    • /
    • 2013
  • Since the high readable source codes help us to understand and modify the program, it is much easy to maintain them. The readability of source code is not only affected by the complexity of algorithms such as control structures but also affected by the coding styles such as naming and indentation. Although various coding standards have been presented for promoting the readability of source codes, it has been usually lost or ignored in a programming course. One of the reasons is that the coding standard is not a hard-and-false rule since it does not contribute to the performance of software. In this paper, we propose a simple automatic system, namely StyleJigsaw, which checks the style of the source codes written by C/C++ or Java. In this system, the coding style score is calculated and visualized as a jigsaw puzzle. To measure the educational effectiveness of StyleJigsaw, several experiments have been conducted on a class students in C++ programming course. According to the experimental results, the coding style score increased about 8.0 points(10.9%) on average using StyleJigsaw. Further, according to a questionnaire survey targeting the students who attended the programming course, about 88.5% of the students responded that StyleJigsaw was of help to learn the coding standards. We expect that the StyleJigsaw can be effectively used to encourage the students to obey the coding standards, resulting in high readable programs.

Similarity Evaluation and Analysis of Source Code Materials for SOC System in IoT Devices (사물인터넷 디바이스의 집적회로 목적물과 소스코드의 유사성 분석 및 동일성)

  • Kim, Do-Hyeun;Lee, Kyu-Tae
    • Journal of Software Assessment and Valuation
    • /
    • v.15 no.1
    • /
    • pp.55-62
    • /
    • 2019
  • The needs for small size and low power consumption of information devices is being implemented with SOC technology that implements the program on a single chip in Internet of Thing. Copyright disputes due to piracy are increasing in semiconductor chips as well, arising from disputes in the chip implementation of the design house and chip implementation by the illegal use of the source code. However, since the final chip implementation is made in the design house, it is difficult to protect the copyright. In this paper, we deal with the analysis method for extracting similarity and the criteria for setting similarity judgment in the dispute of source code written in HDL language. Especially, the chip which is manufactured based on the same specification will be divided into the same configuration and the code type.

Research cases and considerations in the field of hydrosystems using ChatGPT (ChatGPT를 활용한 수자원시스템분야 문제해결사례 소개 및 고찰)

  • Do Guen Yoo;Chan Wook Lee
    • Proceedings of the Korea Water Resources Association Conference
    • /
    • 2023.05a
    • /
    • pp.98-98
    • /
    • 2023
  • ChatGPT(Chat과 Generative Pre-trained Transformer의 합성어)는 사용자와 주고받는 대화의 과정을 통해 질문에 답하도록 설계된 대형언어모델로, 지도학습과 강화학습을 모두 사용하여 세밀하게 조정된 인공지능 챗봇이다. ChatGPT는 주고받은 대화와 대화의 문맥을 기억할 수 있으며, 보고서나 실제로 작동하는 파이썬 코드를 비롯한 인간과 유사하게 상세하고 논리적인 글을 만들어 낼 수 있다고 알려져있다. 본 연구에서는 수자원시스템분야의 문제해결에 있어 ChatGPT의 적용가능성을 사례기반으로 확인하고, ChatGPT의 올바른 활용을 위해 필요한 사항에 대해 고찰하였다. 수자원시스템분야의 대표적인 연구주제인 상수관망시스템의 누수인지와 수리해석을 통한 문제해결에 ChatGPT를 활용하였다. 즉, 딥러닝 기반의 데이터분석을 활용한 누수인지와 오픈소스기반의 수리해석 모델을 활용한 관망시스템 적정 분석을 목표로 ChatGPT와 대화를 진행하고, ChatGPT에 의해 제안된 코드를 구동하여 결과를 분석하였다. ChatGPT가 제시한 코드의 구동결과를 사전에 연구자가 직접 구현한 코드구동 결과와 비교분석하였다. 분석결과 ChatGPT가 제시한 코드가 보다 더 간결할 수 있으며, 상대적으로 경쟁력 있는 결과를 도출하는 것을 확인하였다. 다만, 상대적으로 간결한 코드와 우수한 구동결과를 획득하기 위해서는 해당 도메인의 전문적 지식을 바탕으로 적절한 다수의 질문을 해야 하며, ChatGPT에 의해 작성된 코드의 의미를 명확히 해석하거나 비판적 분석을 하기 위해서는 전문가지식이 반드시 필요함을 알 수 있었다.

  • PDF

Authorship Attribution Framework Using Survival Network Concept : Semantic Features and Tolerances (서바이벌 네트워크 개념을 이용한 저자 식별 프레임워크: 의미론적 특징과 특징 허용 범위)

  • Hwang, Cheol-Hun;Shin, Gun-Yoon;Kim, Dong-Wook;Han, Myung-Mook
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.30 no.6
    • /
    • pp.1013-1021
    • /
    • 2020
  • Malware Authorship Attribution is a research field for identifying malware by comparing the author characteristics of unknown malware with the characteristics of known malware authors. The authorship attribution method using binaries has the advantage that it is easy to collect and analyze targeted malicious codes, but the scope of using features is limited compared to the method using source code. This limitation has the disadvantage that accuracy decreases for a large number of authors. This study proposes a method of 'Defining semantic features from binaries' and 'Defining allowable ranges for redundant features using the concept of survival network' to complement the limitations in the identification of binary authors. The proposed method defines Opcode-based graph features from binary information, and defines the allowable range for selecting unique features for each author using the concept of a survival network. Through this, it was possible to define the feature definition and feature selection method for each author as a single technology, and through the experiment, it was confirmed that it was possible to derive the same level of accuracy as the source code-based analysis with an improvement of 5.0% accuracy compared to the previous study.

An Efficient Design Pattern Framework for Automatic Code Generation based on XML (코드 자동 생성을 위한 XML 기반의 효율적인 디자인패턴 구조)

  • Kim, Un-Yong;Kim, Yeong-Cheol;Ju, Bok-Gyu;Choe, Yeong-Geun
    • The KIPS Transactions:PartD
    • /
    • v.8D no.6
    • /
    • pp.753-760
    • /
    • 2001
  • Design Patterns are design knowledge for solving issues related to extensibility and maintainability which are independent from problems concerned by application, but despite vast interest in design pattern, the specification and application of patterns is generally assumed to rely on manual implementation. As a result, we need to spend a lot of time to develop software program not only because of being difficult to analyze and apply to a consistent pattern, but also because of happening the frequent programing faults. In this paper, we propose a notation using XML for describing design pattern and a framework using design pattern. We will also suggest a source code generation support system, and show a example of the application through this notation and the application framework. We may construct more stable system and be generated a compact source code to a user based on the application of structured documentations with XML.

  • PDF

Efficient Similarity Analysis Methods for Same Open Source Functions in Different Versions (서로 다른 버전의 동일 오픈소스 함수 간 효율적인 유사도 분석 기법)

  • Kim, Yeongcheol;Cho, Eun-Sun
    • Journal of KIISE
    • /
    • v.44 no.10
    • /
    • pp.1019-1025
    • /
    • 2017
  • Binary similarity analysis is used in vulnerability analysis, malicious code analysis, and plagiarism detection. Proving that a function is equal to a well-known safe functions of different versions through similarity analysis can help to improve the efficiency of the binary code analysis of malicious behavior as well as the efficiency of vulnerability analysis. However, few studies have been carried out on similarity analysis of the same function of different versions. In this paper, we analyze the similarity of function units through various methods based on extractable function information from binary code, and find a way to analyze efficiently with less time. In particular, we perform a comparative analysis of the different versions of the OpenSSL library to determine the way in which similar functions are detected even when the versions differ.

보안 취약점 자동 탐색 및 대응기술 동향

  • Jang, Daeil;Kim, Taeeun;Kim, Hwankuk
    • Review of KIISC
    • /
    • v.28 no.2
    • /
    • pp.33-42
    • /
    • 2018
  • 머신러닝 및 인공지능 기술의 발전은 다양한 분야 활용되고 있고, 이는 보안 분야에서도 마찬가지로 로그 분석이나, 악성코드 탐지, 취약점 탐색 및 대응 등 다양한 분야에서 자동화를 위한 연구가 진행되고 있다. 특히 취약점 탐색 및 대응 분야의 경우 2016년 데프콘에서 진행된 CGC를 필두로 바이너리나 소스코드 내의 취약점을 정확하게 탐색하고 패치하기 위해 다양한 연구가 시도되고 있다. 이에 본 논문에서는 취약점을 탐색 및 대응하기 위해 각 연구 별 탐색 기술과 대응 기술을 분류 및 분석한다.

Analyzing Developer's Share of Code Based on Abstract Syntax Tree (추상 구문 트리 기반의 개발자별 소스 코드 지분 분석)

  • Lee, Yong-hyeon;Kim, KiSub;Jung, Woosung
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2015.07a
    • /
    • pp.23-24
    • /
    • 2015
  • 소프트웨어 프로젝트에서 발생하는 버그의 수가 증가함에 따라 이를 수정할 적합한 개발자를 효과적으로 찾기 위한 연구들이 진행되었다. 하지만, 대부분의 연구들이 텍스트 기반의 라인 변경을 통해 얻은 정보만을 활용하기 때문에 정확도가 떨어지며, 파일, 클래스, 함수와 같은 다양한 계층 단위에 대한 처리가 어렵다. 본 논문은 개발자의 코드 변경 정보를 추적함으로써 기여도를 보다 정확하게 계산하고, 다양한 코드 수준에서의 분석을 효과적으로 지원하는 AST기반의 지분 계산 접근법을 제안한다.

  • PDF

A Study on the Analysis of Vulnerabilities in the Program Source Code (프로그램 소스코드 취약성 분석에 관한 연구)

  • 하경휘;최진우;우종우;김홍철;박상서
    • Proceedings of the Korea Information Assurance Society Conference
    • /
    • 2004.05a
    • /
    • pp.3-8
    • /
    • 2004
  • The majority of recent intrusions reveal that the attackers do not use the previous intrusion techniques or network flaw, rather they tend to use the vulnerabilities residing inside the program, which are the running programs on the system or the processes for the service. Therefore, the security managers must focus on updating the programs with lots of time and efforts. Developers also need to patch continuously to update the program, which is a lot of burden for them. In order to solve the problem, we need to understand the vulnerabilities in the program, which has been studied for some time. And also we need to analyze the functions that contains some vulnerabilities inside. In this paper, we first analyzed the vulnerabilities of the standard C library, and Win32 API functions used in various programs. And then we described the design and implementation of the automated scanning tool for writing secure source code based on the analysis.

  • PDF