• 제목/요약/키워드: 제어 흐름 그래프

검색결과 60건 처리시간 0.024초

선택 프로그램 슬라이싱을 이용한 소프트웨어 분석 (Software Analysis through Selection Program Slicing)

  • 박수희
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제28권6호
    • /
    • pp.403-413
    • /
    • 2001
  • 시스템이 진화와 노화를 거듭하는 경우 프로그램을 이해하는데 있어서 가장 정확한 문서는 기존의 시스템 자체에서 추출되어진 정보이다. 프로그램의 이해를 돕기 위한 분석기법중의 하나인 프로그램 슬라이싱은 1984년 Weiser에 의해서 소개되어진 이후 다양한 방향으로 연구가 진행되어져 왔다. 특히, 생성되어지는 프로그램 슬라이스가 사이즈가 크고 충분히 집약적이지 못하다는 문제점과 슬라이스의 계산방법이 효율적이지 못하다는 문제점을 극복하기 위하여 여러 가지 방법들을 시도되어 왔다. 본 논문은 고전적인 슬라이싱 기준에 새로운 파라미터를 추가함으로써 제외개념을 이용하여 보다 함수적으로 응집력있고, 사이즈가 작은 슬라이스를 생성하는 선택 슬라이스를 제시하며 이 선택슬라이스를 계산하기 위한 효율적인 방법을 기술한다. 데이터와 제어의 흐름을 이용하여 선택 슬라이싱을 정의하고, 선택 슬라이싱을 위한 종속그래프를 정의하고 이를 사용하여 선형적 시간 내에 선택 슬라이스를 생성하는 알고리즘을 기술한다.

  • PDF

통합 교통 정보 분석 시스템의 설계 및 구현 (A Design and Implementation of Integrated Transportation Information Analysis System)

  • 서동만;조영태;권일;정인범
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2010년도 춘계학술발표대회
    • /
    • pp.605-608
    • /
    • 2010
  • 본 논문에서는 가공되지 않은 축적된 교통 정보를 이용하여 교통 전문가와 교통공학 분야의 학생들이 손쉽게 교통 정보를 분석할 수 있는 통합 교통 정보 분석 시스템을 제안한다. 제안하는 시스템은 도시 고속도로 내의 구간과 시간, 일자를 선택하고, 선택한 영역의 교통 수집 정보를 분석하여, 교통 흐름 제어나 교통 정보 분석에 필요한 다양한 정보와 함께 속도 및 밀도, 통행량을 이용한 등고선 그래프를 제공한다.

안드로이드 악성코드 분류를 위한 Flow Analysis 기반의 API 그룹화 및 빈도 분석 기법 (API Grouping Based Flow Analysis and Frequency Analysis Technique for Android Malware Classification)

  • 심현석;박정수;단티엔북;정수환
    • 정보보호학회논문지
    • /
    • 제29권6호
    • /
    • pp.1235-1242
    • /
    • 2019
  • 본 논문에서는 머신러닝 기반의 악성코드 분류에 있어 오버피팅 문제를 비롯하여 실제로 실행되지 않는 코드가 APK에 포함되는 문제 등을 해결하기 위해 모든 API들의 연관성을 통해 그룹화하며, 제어 흐름 분석을 통해 실제로 실행되는 코드에 대한 분석을 수행하는 툴을 개발하였다. 툴은 약 1,500라인으로 이루어진 자바 기반의 소프트웨어로, 전체 API에 대한 빈도 분석을 수행하거나 생성된 제어 흐름 그래프를 바탕으로 빈도 분석을 수행한다. 툴을 이용하여 모든 버전에서의 총 39032개의 메서드에 대해 4972개의 그룹으로 축소할 수 있으며, 클래스를 포함한 결과로는 총 12123개의 그룹으로 축소할 수 있다. 결과 분석을 위해서 본 논문에서는 총 7개의 패밀리에서 7,000개의 APK를 랜덤으로 수집하였으며, 수집된 APK를 이용하여 feature를 축소하는 기법을 검증하였다. 또한, 추출된 데이터에서 빈도가 20% 이상으로 나타난 API만을 선별하여 feature를 더욱 축소하여 최종적으로 263개의 feature로 축소하였다.

확장된 구조적 워크플루우 스키마에서 워크플로우 임계 경로의 결정 (Finding the Workflow Critical Path in the Extended Structural Workflow Schema)

  • 손진현;김명호
    • 한국정보과학회논문지:데이타베이스
    • /
    • 제29권2호
    • /
    • pp.138-147
    • /
    • 2002
  • 워크플로우에서 임계 경로의 개념은 워크플로우 자원 및 시간 관리 등과 같이 워크플로우의 여러 분야에서 유용하게 활용될 수 있다는 면에서 중요하다. 그럼에도 불구하고 지금까지 임계 경로에 대한 연구가 많이 이루어지지 않았다. 이는 워크플로우에서의 제어 흐름 구조는 기존의 전형적인 그래프 혹은 네트워크 보다 더 복잡한 구조를 가지고 있기 때문이다. 본 논문에서는 먼저 복잡한 업무 흐름을 워크플로우로 표현할 수 있도록 지원하는 다양한 워크플로우 제어 구성 자들을 정의한다. 그리고 이를 기반으로 정의된 구조적 워크플로우 스키마에서 임계 경로를 결정하는 방법을 제안한다.

CTOC에서 루프 벗기기 구현 (Implementation of Loop Peeling in CTOC)

  • 김기태;김제민;유원희
    • 한국컴퓨터정보학회논문지
    • /
    • 제13권5호
    • /
    • pp.27-35
    • /
    • 2008
  • 최근 웹 어플리케이션 분야에서 많이 사용되고 있는 자바 바이트코드의 분석과 최적화 과정을 효율적으로 수행하기 위해 CTOC 프레임워크를 개발하였다. CTOC는 바이트코드에 대해 분석과 최적화를 수행하기 위해 E-Tree를 중간 표현으로 사용하는 eCFG를 생성한다. eCFG는 바이트코드에 대한 제어 흐름 분석에 적합하도록 확장한 제어 흐름 그래프이다. 또한, 바이트코드를 정적으로 분석하기 위해 E-Tree를 SSA Form으로 변환한다. 이러한 변환과정 중 프로그램의 많은 부분에서 루프가 발견된다. 하지만 기존의 CTOC에서는 루프에 대한 처리를 수행하지 않은 상태에서 직접 SSA Form으로 변환을 수행하였다. 하지만 SSA Form으로 변환 이전에 루프를 처리하면 더욱 효율적인 SSA Form을 생성할 수 있게 된다. 따라서 본 논문에서는 루프에 대한 처리를 효율적으로 하기 위해 E-Tree를 SSA Form으로 변환하는 과정 이전에 eCFG에서 루프를 발견하고 이와 관련된 루프 트리를 생성한 후 루프 벗기기를 수행하는 과정을 보인다.

  • PDF

근권 환경부 측정장치를 이용한 지역별 관수제어 모델링 연구 (A Study on Modeling of Watering Control status by Regions Using the Measurement Device of the Ministry of Root Environment)

  • 정진형;조재현;김승훈;최안렬;이상식
    • 한국정보전자통신기술학회논문지
    • /
    • 제14권2호
    • /
    • pp.168-174
    • /
    • 2021
  • 세계 농업 생산성 보고서에 따르면 현재 농업의 연평균 성장률은 1.63% 수준으로 2050년까지 증가하는 세계 인구 약 100억 명을 지원하기 위한 성장률 1.73% 보다 낮은 수준이며 이는 세계 농업의 생산성은 2050년까지 세계 인구의 식량, 사료, 바이오에너지 수요를 지속적으로 충족시킬 수 있을 만큼 증가하지 않고 있으며 미래의 식량난을 예고하고 있다. 본 연구는 농작물의 생산비용 감소, 생산량 증대, 품질 향상 등을 목적으로 국내 농가의 근권 환경 데이터 수집 후 데이터 분석을 통해 지역별 관수 제어 모델을 만들고 해당 지역에서 농사를 시작하는 농부들에게 조언을 줄 수 있는 모델을 제시하는 것을 목적으로 진행되었다. 본 연구에서 제시하는 관수제어 모델링은 시간의 흐름 및 기후에 따른 근권 환경 변화로 인한 배지무게·급액량·배액량의 변화를 그래프 모형으로 나타내는 것을 의미한다. 관수제어 모델링을 위해 근권 환경부 측정 장치를 통해 충정남도 논산, 부여, 예산 지역의 3~6월 근권환경 데이터 및 배지무게·급액량·배액량의 변화에 대한 데이터를 수집했으며 수집된 데이터를 통해 관수제어 모델도출을 위한 매개변수 설정하고 매개변수를 통해 시간의 흐름에 따른 무게·급액량·배액량의 변화를 확인 할 수 있는 관수제어 모델을 도출했다.

모바일 어플리케이션을 위한 에너지-인식 달빅 바이트코드 리스트 스케줄링 기술 (Energy-aware Dalvik Bytecode List Scheduling Technique for Mobile Applications)

  • 고광만
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제3권5호
    • /
    • pp.151-154
    • /
    • 2014
  • 모바일 기기에서 어플리케이션의 에너지 소비는 운영체제, 실행시간 환경, 컴파일러, 어플리케이션 등이 복잡한 상호 작용을 통해 이루어진다. 최근까지 에너지-지향적인 고수준 및 저수준의 컴파일러 기술을 적용하여 모바일 기기에서 어플리케이션의 에너지 소비를 줄이기 위한 노력이 진행되고 있다. 본 논문에서는 안드로이드 달빅에서 실행되는 dex 파일로부터 달빅 바이트코드를 추출한 후 에너지 소비 최적화를 위한 리스트 인스트럭션 스케줄링을 적용하여 어플리케이션의 에너지 소비를 줄이고자 한다. 이러한 연구는 급속도로 확산되고 있는 안드로이드 기반 어플리케이션이 전력 공급이 제한적인 모바일 환경에서 최적화된 전력 에너지 소비할 수 있는 환경을 구축하는 데 활용할 수 있다.

자바 바이트코드 프레임워크 구현 (Implementation of Java Bytecode Framework)

  • 김기태;김제민;유원희
    • 한국콘텐츠학회논문지
    • /
    • 제10권3호
    • /
    • pp.122-131
    • /
    • 2010
  • 본 논문에서는 자바 바이트코드를 분석하고 변환할 수 있는 새로운 도구인 CTOC 프레임워크를 설계하고 구현한다. CTOC는 자바 바이트코드의 분석과 코드 변환을 수행할 수 있는 도구로, 바이트코드 분석과 변환 과정을 효율적으로 구현하기 위해 확장된 제어 흐름 그래프인 eCFG(extended Control Flow Graph)와 바이트코드를 효과적으로 처리할 수 있는 중간 코드인 E-Tree(Expression-Tree)를 사용한다. eCFG와 E-Tree를 자바 바이트코드에 대한 분석과 최적화 코드 변환 과정에 적용하여 CTOC의 유용성과 확장 가능성을 보인다.

임베디드 시스템에서 네트워크 분할을 이용한 프로그램 최적화 (Program Osptimality Using Network Partiton in Embedded System)

  • 최강희;신현덕
    • 한국컴퓨터산업학회논문지
    • /
    • 제7권3호
    • /
    • pp.145-154
    • /
    • 2006
  • 본 논문에서는 프로그램 최적화를 위해 개선된 추론적 부분 중복 제거(SPRE) 알고리즘을 제안했다. 본 논문에서 제안한 SPRE 기법은 컴파일러의 프로필링 기법 등을 통해 얻어진 실행 빈도에 대한 정보를 이용하여 실행 속도 최적화를 수행한다. 제안하는 알고리즘의 첫 번째 목적은 프로그램 실행 시 요구되는 메모리의 감소이며 두 번째는 실행 시간을 감소시키는 것이다. 단지 프로그램의 실행 속도만을 고려하는 경우에는 메모리 요구가 크게 증가하기 때문에 메모리 감소에 대한 고려도 중요하다. 이것은 프로그램을 실행하는데 요구되는 메모리의 크기가 실행 속도 보다 더 중요한 임베디드 시스템에 적합한 최적화 기법이다. 본 논문에서는 제어흐름그래프를 네트워크로 구성하여 분할하는데 사용하는 Min-Cut 알고리즘을 구현한다.

  • PDF

바이트코드의 효율적인 분석을 위한 중간코드의 설계 (Design of Intermediated code for Efficient Analysis of Bytecode)

  • 김경수;김기태;조선문;유원희
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 가을 학술발표논문집 Vol.32 No.2 (2)
    • /
    • pp.430-432
    • /
    • 2005
  • 자바 언어는 객체 지향 언어이며 이식성에 좋은 언어로써 각광을 받고 있다. 하지만 자바 프로그램은 이식성은 좋지만 실행 시 인터프리터 방식으로 사용하기 때문에 실행속도가 느리다는 단점이 있다. 또한 바이트코드는 스택기반의 코드이기 때문에 코드 단편화 문제점과 스택 접근 연산들을 사용하여 프로그램 분석이 용이 하지 않고, 단순한 변환을 복잡하게 만들 수 있다는 단점이 있다. 따라서 바이트코드 자체로 분석과 최적화하기가 용이 하지 못하다. 본 논문에서는 바이트코드의 분석을 위한 트리구조 중간코드를 제안 한다. 트리구조 중간코드는 스택기반 코드의 문제점을 보완하고, 기존에 3-주소 형태의 최적화 기법들을 적용할 수 있다는 장점이 있다. 본 논문은 바이트코드와 각종 정보를 가지고 있는 클래스 파일을 입력받아 분석 후 기본블록을 나누고 BNF코드를 바탕으로 트리구조 중간코드를 생성하게 된다. 생성된 중간코드를 가지고 제어 흐름 그래프를 만들게 된다. 이러한 방식으로 트리구조 중간코드를 설계하게 된다.

  • PDF