• 제목/요약/키워드: 디버깅 도구

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

PinMemcheck: 이동통신 기기 개발을 위한 Pin 기반의 메모리 오류 검출 도구(道具) (PinMemcheck: Pin-Based Memory Leakage Detection Tool for Mobile Device Development)

  • 조경진;김선욱
    • 정보처리학회논문지A
    • /
    • 제18A권2호
    • /
    • pp.61-68
    • /
    • 2011
  • 메모리 관련 오류 검출은 소프트웨어 개발 시 신뢰성 향상을 위해서 수행하여야 할 가장 중요한 작업중의 하나이다. 그러나 메모리 오류 검출을 위한 긴 디버깅 시간은 이동 통신 기기 개발 과정에 있어 큰 문제가 되었다. 대부분의 메모리 오류 검출 도구는 정적 분석 기법을 사용하나, 큰 용량의 동작 메모리로 인하여 이동 통신 기기 개발에는 사용되지 못하는 경우가 많다. 때문에 이동통신 기기 업체는 고품질의 기기를 빠른 시간 내에 개발하는 것이 매우 어려웠다. 이 논문에서 소개될 이동통신 기기 개발을 위한 Pin 기반의 메모리 오류 검출 도구인 PinMemcheck은 Pin의 이진 가공 기법과 간단한 데이터 구조를 적용하여 기준 설정 대비 약 1.5배의 실행 시간 부하 내에서 필수 오류들을 모두 검출해 내었다.

작용 식 기반 통합 점진 해석 시스템 구축 (Building of Integrated Increment Interpretation System Based on Action Equations)

  • 한정란;최성
    • 정보처리학회논문지A
    • /
    • 제11A권3호
    • /
    • pp.149-156
    • /
    • 2004
  • 소프트웨어가 대형화되고 고도화되어 감에 따라 프로그램 개발 환경에서 프로그래밍 생산성과 효율성을 향상시키기 위해 에디팅. 컴파일링, 디버깅 및 실행을 하나의 통합 환경으로 구축하는 것이 필요하다. 이러한 환경에서 중요한 도구가 되는 것이 점진 번역기이다. 본 논문에서는 소프트웨어의 재 사용성과 생산성을 향상시키기 위해, 에디팅, 디버깅, 점진 해석 및 실행을 하나의 통합 환경으로 구성하여 보다 친근하고 편리하게 사용할 수 있는 사용자 인터페이스를 제공하는 소프트웨어 개발을 위한 통합 점진 해석 시스템을 구축하고자 한다. 객체 지향 언어인 IMPLO(IMPerative Language with Object) 언어를 EBNF 표기법으로 정의하고 이 언어에 대한 점진 해석기를 구현한다. 점진 해석기를 구현하기 위해 정적 의미론을 표현하는 속성 문법을 확장하여 동적인 의미론을 표현할 수 있는 작용 식을 제시한다. 동적 의미 분석 방법에 의해 점진 해석을 수행하고 에디터와 디버거를 가진 통합 점진 해석 시스템을 Lex와 Yacc을 이용해서 C 언어로 프로그래밍하고 SUN에서 X로 구현하였다. 예제 프로그램들의 점진 실행 시간을 전체 프로그램의 실행 시간과 비교했을 때 약 50% 정도의 속도 개선 효과를 거둘 수 있었다.

악성코드 검출을 위한 확장된 프로세서 트레이스 디코더 구조 연구 (A study of extended processor trace decoder structure for malicious code detection)

  • 강승애;김영수;김종현;김현철
    • 융합보안논문지
    • /
    • 제18권5_1호
    • /
    • pp.19-24
    • /
    • 2018
  • 지금까지 오랜 시간 동안 범용 프로세서는 개발자에게 버그 수정을 할 수 있는 도구들을 제공하기 위해 전용 하드웨어/소프트웨어 트레이싱 모듈을 제공했다. 전용 하드웨어 트레이서는 성능 분석 및 디버깅에 모두 사용되는 막대한 양의 데이터를 로그로 실시간으로 생성한다. 프로세서 트레이스 (PT)는 CPU에서 실행되는 분기를 추적하는 Intel CPU를 위한 새로운 하드웨어 기반 추적 기능으로 최소한의 노력으로 모든 실행 코드의 제어 흐름을 재구성할 수 있다. 이러한 하드웨어 트레이스 기능들은 운영체제에 통합되어 프로파일 링 및 디버깅 메커니즘과의 긴밀한 통합이 가능하게 되었다. 본 논문에서는 윈도우 환경에서 PT가 제공하는 기능을 이용하여 실시간 트레이스 및 악성코드 검출을 위한 기본 데이터를 제공하는 확장된 PT 디코더 구조를 제안하였다.

  • PDF

닌텐도 DS를 이용한 임베디드 소프트웨어 교육 (Embedded Software Education with Nintendo DS)

  • 장영준;이민석
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(A)
    • /
    • pp.119-121
    • /
    • 2012
  • 본 논문에서는 닌텐도 DS를 이용하여, 임베디드 소프트웨어 교육을 수행하기 위한 준비 과정과, 실제 교육 내용을 소개하고, 향후 계획을 공유하고자 한다. 닌텐도 DS는 가격이 저렴한 게임기로 ARM9, ARM7 두 개의 CPU를 가지고 있으며, 기본적인 입출력 장치, 그래픽 가속기, 무선랜 등을 모두 포함하고 있다. 우리는 이 닌텐도 DS에 실시간 운영체제인 FreeRTOS를 이식하고, Eclipse 기반의 IDE 개발 도구 및 원격 디버깅 환경을 구축하였다. 또, 교육 과정에서는 하드웨어의 제어, RTOS의 기본 API의 활용, IPC, 동기화 문제의 해결에 이르는 주제를 포함함으로써 임베디드 소프트웨어 엔지니어가 지녀야할 기본적인 스킬들을 두루 다루는 실습이 되도록 구성하였다. 개발된 교육 환경 및 실습을 위한 강의 자료는 공개 소프트웨어로서 100% 공개되어 누구나 이용할 수 있다.

정렬 프로그래밍 교육을 위한 시각화 도구의 개발 (Development of Visualization Tool for Sorting Programming Instruction)

  • 정인기
    • 컴퓨터교육학회논문지
    • /
    • 제7권6호
    • /
    • pp.27-35
    • /
    • 2004
  • 자료구조 및 알고리즘 분야는 컴퓨터 프로그래밍 교육의 기반이 되는 과목이다. 그러나 교육방법이 헌재의 추세인 비주얼 프로그래밍과 윈도우 프로그래밍 방법을 따라가지 못하여 학생들의 흥미를 유발하지 못하고 있다. 정렬 프로그래밍도 다른 자료 구조와 상황은 마찬가지이다. 이러한 문제점을 해결하기 위하여 본 논문에서는 교육자가 효과적으로 정렬 알고리즘을 교육할 수 있는 VTSPI (Visualization Tool for Sorting Programming Instruction)를 개발하였다. 뿐만 아니라 VTSPI는 비주얼 프로그래밍에 기반을 둔 소프트웨어 컴포넌트이기 때문에 학생들이 쉽게 프로그래밍할 수 있고, 자신의 프로그램을 이해할 수 있고, 디버깅을 쉽게 할 수 있게 해준다.

  • PDF

하드웨어와 결합도가 높은 임베디드 소프트웨어의 단위 테스팅 기법 (Testing Method of Embedded Software tightly coupled with Hardware)

  • 심재환;이진호;최진영
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2011년도 한국컴퓨터종합학술대회논문집 Vol.38 No.1(B)
    • /
    • pp.208-211
    • /
    • 2011
  • 하드웨어와 결합도가 높은 임베디드 소프트웨어는 플랫폼의 다양하여 기존의 자동화동 테스팅 도구나 기법을 그대로 적용하기에 어려움이 있다. 특히 단위 테스팅의 경우 디버깅으로 대체 대는 경우가 많아 이후의 단계에서 오류가 탐지 되더라도 오류의 위치를 추정하기에는 어려움이 많다. 본 논문에서는 임베디드 소프트웨어의 테스팅 난점 중 하드웨어와의 결합력과 관련한 어려움을 극복하는 것에 중점을 두고 임베디드 테스팅을 위한 기법을 제시한다.

마이크로프로세서 FBD 시각화 (Microprocessor FBD Visualization)

  • 이정원;이기호
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (3)
    • /
    • pp.36-38
    • /
    • 1999
  • 하드웨어의 제품 사양에는 제품의 특징, FBD(Functional Block Diagram), 핀의 기능 및 배열, 프로그래밍 모드 및 각 블록의 기능 등이 함께 제시된다. 이 때 다른 사양과는 달리 설계 초기 단계부터 설정되는 가장 개념적인 FBD는 마이크로프로세서의 경우 메모리 인터페이스, 레지스터 파일, 데이터패스, 예외처리기, 각종 제어기, 타이머 등으로 구성된다. FBD의 각 블록들은 여러 명의 설계자들에게 분할되고 이 중 마이크로프로세서 설계의 대부분의 시간을 소비하게 되는 각종 제어기의 설계는 여러 블록이 공동으로 제어 신호를 공유하게 된다. 이 신호에 의해 전체 시스템의 정확성(correctness)이 결정되므로 제어기예서 각 블록에 공급하는 제어 신호는 적절할 타이밍에 정확한 값을 가져야만 한다. 따라서 본 논문은 마이크로프로세서에서의 각 블록에 공급하는 제어 신호는 적절한 타이밍에 정확한 값을 가져야만 한다. 따라서 본 논문은 마이크로프로세서의 FBD를 모델링할 수 있는 시각도구를 제안함으로써 제어 신호에 따른 전체 블록의 유기적인 데이터 흐름을 한 눈에 파악할 수 있도록 한다. 이는 설계초기부터 각 블록들을 설계하는 설계자들간의 공통의 다이어그램인 FBD를 중심으로 설계를 해나감으로써 대화 오류를 감소시키고 제어신호 디버깅을 용이하게 하여 설계시간을 단축시키는 것을 목표로 한다.

  • PDF

안드로이드 애플리케이션 무반응에 대한 탐색과 회피 방안 (A Method of Detecting and Avoiding Application Not-Response in Android)

  • 김경민;최은만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2016년도 춘계학술발표대회
    • /
    • pp.482-485
    • /
    • 2016
  • 안드로이드 애플리케이션의 UI 테스팅에서 무반응 문제의 탐색과 제거는 매우 중요하다. ANR(Application Not Responding)은 애플리케이션이 일정 시간 동안 응답이 없는 상태로, 내부적으로 어떤 스레드의 처리에 많은 시간이 소요될 경우 UI 스레드가 반응을 하지 않는 상황을 말한다. 안드로이드 플랫폼은 ANR 문제점 해결을 위해 DDMS와 Logcat과 같은 다양한 디버깅 도구들을 지원한다. 하지만 이러한 방법들은 ANR이 발생한 후에 대처하는 방법이므로 발생하기 전 ANR이 일어날 곳을 미리 탐색하고 회피하는 방법이 필요하다. 이 논문에서는 ANR이 발생하는 지점을 찾고 수정하여 프로세스가 원활한 응답성을 유지할 수 있도록 하였다. 그러기 위해 안드로이드 APK 파일을 추출하여 수행될 메시지를 포함하고 있는 인텐트 흐름 경로를 분석하여야 한다. 실행되는 응용 프로그램의 데이터 흐름과 응답시간 측정을 통하여 ANR이 발생 가능한 곳을 효율적으로 탐색할 수 있음을 보였다.

실시간 운영체제 시뮬레이터의 구현 (Implementation of the Simulator for a Real-Time Operating System)

  • 김방현;이종은;김종현
    • 한국시뮬레이션학회:학술대회논문집
    • /
    • 한국시뮬레이션학회 2001년도 춘계 학술대회 논문집
    • /
    • pp.157-162
    • /
    • 2001
  • 실시간 운영체제 개발환경에서 제공하는 도구들 중의 하나인 실시간 운영체제 시뮬레이터는 타겟 하드웨어(target hardware)가 호스트에 연결되어 있지 않은 상태에서도 사용자가 응용프로그램의 개발과 디버깅을 가능하도록 해주는 시뮬레이션 환경이다. 본 연구에서는 현재 국내에서 실시간 컴퓨터시스템을 위하여 자체 개발중인 실시간 운영체제인 Q+를 위한 시뮬레이터를 구현하였다. 또한 본 연구에서는 상용화될 제품에 실제 적용이 가능한 방법을 개발하는데 중점을 두었으며, 실행 시간을 추정하는 기능도 포함하였다. 본 연구에서 대상으로 한 타겟 하드웨어는 ARM 계열의 StrongARM SA-110 마이크로프로세서와 21285 주제어기가 장착된 EBSA-285 보드이며, 개발 환경은 윈도우 상에서 동작하는 Q+Esto이다.

  • PDF

GDB를 사용한 스택 프레임 기반 단위 테스팅을 위한 구조 설계 (Structure Design for Unit Testing based on Stack Frame to use GDB)

  • 이성희;박흥준;아제이쿠마르차;이우진
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2015년도 제52차 하계학술대회논문집 23권2호
    • /
    • pp.9-10
    • /
    • 2015
  • 최근 임베디드 소프트웨어는 전자기기뿐만 아니라 의료기기, 자동차, 항공 등 광범위하게 적용되고 있다. 임베디드 소프트웨어의 규모가 커지는 만큼 비중도 높아지고 있어 임베디드 소프트웨어 테스팅의 비중도 높아지고 있다. 따라서 본 논문에서는 디버깅 도구인 GDB를 테스팅에 과정에 연계하여 현재 실행중인 프로세스에서 겸사하고자 하는 단위 소프트웨어의 스택 프레임으로부터 정보를 얻어 단위 테스팅 수행이 가능한 구조를 제안한다. 이를 통해 별도의 코드를 수정하지 않고도 단위 테스팅이 가능해지며 런타임 테스팅과 자동 단위 테스팅이 가능해진다.

  • PDF