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

Search Result 341, Processing Time 0.032 seconds

Design Pattern Discovery based on Machine Learning (자동학습에 기반한 디자인 패턴 인식)

  • Hwang, Sung-Wook;Youn, Hyun-Sang;Lee, Eun-Seok
    • 한국HCI학회:학술대회논문집
    • /
    • 2006.02a
    • /
    • pp.760-765
    • /
    • 2006
  • 디자인 패턴의 사용은 시스템을 좀 더 유연하고, 이해하기 쉽고, 재사용 가능하게 만든다. 개발이 완료된 시스템이 명확하게 문서화가 되어 있으면, 시스템의 내부 구조를 이해하기 쉽고, 향후 유지 보수의 비용이 적게 든다. 하지만, 대부분 시스템의 경우 개발된 시스템의 문서화가 잘 되어 있지 않기 때문에, 시스템에 문제가 생겨 수정 하고자 하거나, 새로운 모듈을 추가하여 시스템의 기능을 확장하고자 할 때, 전체 소스코드를 분석하여 시스템을 이해해야 하는 어려움이 있다. 이러한 문제점을 해결하기 위해서 소스코드에서 자동적으로 디자인 패턴을 인식하여 문서화를 증진시킬 수 있다. 따라서 신뢰할 만한 디자인 패턴 인식 시스템이 중요하다. 지금까지 디자인 패턴 인식 방법은 시스템의 구조적인 특징만을 이용하여 패턴을 인식하여 왔다. 그래서 본 논문은 구조적인 특징뿐만 아니라 동적인 분석, 그리고 자동학습(machine learning)에 기반하여 소스코드로부터 디자인 패턴을 인식하는 방법을 제안하고자 한다. 그리고 전 작업에서 만든 자바로 쓰여진 에이전트 개발 툴을 대상으로 실시하여 인식한 디자인 패턴에 대한 평가를 하였다.

  • PDF

Model Checking of Object Oriented Software using Bandera toolset (Banders Toolset을 이용한 객체지향형 소프트웨어 모델 체킹)

  • 방기석;이주용;최진영
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10a
    • /
    • pp.466-468
    • /
    • 2001
  • 객체지향형 소프트웨어가 개발되고 분산 시스템에 적용되면서 소프트웨어 시스템의 분석 및 안전상의 보장이 매우 어려워지고 있다. 정형 기법을 이용해서 소프트웨어 시스템의 안전성을 증명하는 연구가 진행되고 있지만 소스코드 레벨에서의 보장은 아직 어려운 상태이다. 본 연구에서는 이러한 소프트웨어 시스템의 소스코드 레벨에서의 안전성 보장을 위한 연구로 Bandera toolset 을 이용한 정형검증에 대해 논한다.

  • PDF

A Study of LLVM-based Embedded System Performance Analyzer (LLVM 기반의 임베디드 시스템 성능 분석기의 연구)

  • Cho, Doosan
    • The Journal of the Convergence on Culture Technology
    • /
    • v.8 no.1
    • /
    • pp.577-582
    • /
    • 2022
  • For developing a new embedded system, an application program/an emulator and a compiler are developed simultaneously. In order to provide the optimal performance of all system components, local optimization should be carried out for the developing process. For this purpose, if a source-level performance analyzer is developed, it is possible to optimize the application program's source code by the performance evaluation. In general, the performance of an application program is determined in the loop iterations. The Intermediate Representation (IR) code generator generates IR code from the source code, and evaluates the execution time with the instructions in the intermediate representation code. If the source code is improved based on the evaluated result, better results can be obtained in the final application code. This study describes the source-level performance analyzer that can be used during the simultaneous development of the new embedded system and its application programs. The performance analyzer makes it possible to more quickly optimize the performance of the new embedded system.

Warning Classification Method Based On Artificial Neural Network Using Topics of Source Code (소스코드 주제를 이용한 인공신경망 기반 경고 분류 방법)

  • Lee, Jung-Been
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.9 no.11
    • /
    • pp.273-280
    • /
    • 2020
  • Automatic Static Analysis Tools help developers to quickly find potential defects in source code with less effort. However, the tools reports a large number of false positive warnings which do not have to fix. In our study, we proposed an artificial neural network-based warning classification method using topic models of source code blocks. We collect revisions for fixing bugs from software change management (SCM) system and extract code blocks modified by developers. In deep learning stage, topic distribution values of the code blocks and the binary data that present the warning removal in the blocks are used as input and target data in an simple artificial neural network, respectively. In our experimental results, our warning classification model based on neural network shows very high performance to predict label of warnings such as true or false positive.

Analysis and Classification of Source Code for TMO-Based Programs (TMO기반 프로그램을 위한 소스코드 분석 및 분해)

  • Lee Jae-Seok;Shin Won;Kim Tae-Wan;Chang Chun-Hyon
    • Annual Conference of KIPS
    • /
    • 2006.05a
    • /
    • pp.199-202
    • /
    • 2006
  • 실시간 시스템에서는 정해진 시간 안에 작업을 수행해야 하는 것이 가장 중요하다. 때문에 실시간 시스템에서의 응답시간 위반은 물질 또는 인명 피해와 직결된다. 이에 응답시간을 보장하기 위해 실시간 시스템을 분석하는 기법들에 대한 많은 연구가 진행되었다. 그러나 기존의 분석 방법들은 최악실행시간을 도출하기위해 실시간 프로그램의 흐름을 분석하거나 분석을 위한 제약을 생성할 때 부하가 생기는 문제점을 가지고 있다. 이러한 문제를 해결하기 위하여 본 논문에서는 프로그램에서 나타나는 함수 또는 변수 등이 중복해서 사용되는 특성들을 이용하여 실행시간 분석에 대한 부하를 줄일 수 있는 방법을 제안하고, 제안한 방법을 기반으로 실시간 프로그램에서 실행시간을 예측할 때 필요한 기본 자료들을 도출할 수 있는 소스코드 분석 도구를 제안한다.

  • PDF

Security Verification of Korean Open Crypto Source Codes with Differential Fuzzing Analysis Method (차분 퍼징을 이용한 국내 공개 암호소스코드 안전성 검증)

  • Yoon, Hyung Joon;Seo, Seog Chung
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.30 no.6
    • /
    • pp.1225-1236
    • /
    • 2020
  • Fuzzing is an automated software testing methodology that dynamically tests the security of software by inputting randomly generated input values outside of the expected range. KISA is releasing open source for standard cryptographic algorithms, and many crypto module developers are developing crypto modules using this source code. If there is a vulnerability in the open source code, the cryptographic library referring to it has a potential vulnerability, which may lead to a security accident that causes enormous losses in the future. Therefore, in this study, an appropriate security policy was established to verify the safety of block cipher source codes such as SEED, HIGHT, and ARIA, and the safety was verified using differential fuzzing. Finally, a total of 45 vulnerabilities were found in the memory bug items and error handling items, and a vulnerability improvement plan to solve them is proposed.

A Design of Exploit Infringement Decision Module through Open-Source Software Vulnerability Analysis (오픈소스 소프트웨어 취약점 분석 기술을 통한 취약점 침해여부 판정 모듈 설계)

  • Park, Sanghyeon;Chung, Hague;Jun, Moon-Seog
    • Annual Conference of KIPS
    • /
    • 2016.10a
    • /
    • pp.286-287
    • /
    • 2016
  • 오픈소스 소프트웨어는 소스코드를 공개해 누구나 제약 없이 소스코드를 보고 사용할 수 있는 오픈소스 라이선스를 만족하는 소프트웨어다. 오픈소스 소프트웨어의 장점은 라이선스 비용절감, 특정 소프트웨어 및 하드웨어의 종속성 탈피, 유연한 연동성, 수 많은 개발자의 참여로 인한 빠른 발전 속도와 신뢰성에 있다. 단점으로는 체계적이지 못하고, 유지보수가 어렵다는 문제가 있다. 본 논문에서 제안한 취약점 침해여부 모델을 이용하게 된다면 오픈소스의 단점을 보완할 수 있다.

Analysis of Detection Ability Impact of Clang Static Analysis Tool by Source Code Obfuscation Technique (소스 코드 난독화 기법에 의한 Clang 정적 분석 도구의 성능 영향 분석)

  • Jin, Hongjoo;Park, Moon Chan;Lee, Dong Hoon
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.28 no.3
    • /
    • pp.605-615
    • /
    • 2018
  • Due to the rapid growth of the Internet of Things market, the use of the C/C++ language, which is the most widely used language in embedded systems, is also increasing. To improve the quality of code in the C/C++ language and reduce development costs, it is better to use static analysis, a software verification technique that can be performed in the first half of the software development life cycle. Many programs use static analysis to verify software safety and many static analysis tools are being used and studied. In this paper, we use Clang static analysis tool to check security weakness detection performance of verified test code. In addition, we compared the static analysis results of the test codes applied with the source obfuscation techniques, layout obfuscation, data obfuscation, and control flow obfuscation techniques, and the static analysis results of the original test codes, Analyze the detection ability impact of the Clang static analysis tool.

Development of bio-signal analysis system applying source code based on various algorithm development tools (다양한 알고리즘 개발 툴 기반의 소스 코드를 적용한 생체신호 분석 시스템 개발)

  • Ju, Mun-Il;Kim, Won-Il;Kim, Hui-Cheol
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2018.10a
    • /
    • pp.238-240
    • /
    • 2018
  • Recently, healthcare services have been developed and studied using various bio-signal analysis tools. Most bio-signal analysis studies utilize Matlab and R Programming. However, in order to apply the algorithm developed by Matlab and R Programming to the system, it is necessary to convert the source code. This paper proposes a smart interface that can skip source code conversion.

  • PDF

Automatic malware generation system design using EA (진화알고리즘을 이용한 악성코드 자동생성 시스템 설계)

  • Kwon, Se-Hoon;Kown, Jae-Yeong;Lee, Seung-Hun;Lee, Hyun-Woo;Lee, Jong-Rak;Won, Il-Yong
    • Annual Conference of KIPS
    • /
    • 2017.11a
    • /
    • pp.193-196
    • /
    • 2017
  • 본 연구는 기존의 변종 악성코드와는 달리 진화알고리즘을 기반으로 한 악성코드 자동 생성 프레임워크에 대한 것이다. 우리가 제안하는 시스템은 소스가 알려지지 않는 바이너리 상태의 악성코드를 역공학적 기법을 이용하여 소스 상태로 복원하고 복원된 소스를 이용하여 다양한 변종 악성코드를 생성하는 것이다. 진화 연산을 적용하기 위해 평가함수의 설계가 중요한데, 우리는 행동 기반 분석 기반의 평가 함수를 포함하는 프레임워크를 제안하였다.