• 제목/요약/키워드: debugging

검색결과 338건 처리시간 0.031초

프로그램 디버깅을 위한 휴리스틱 지식의 응용 (On the Application of Heuristic Knowledge for Program Debugging)

  • 서동근
    • 한국정보처리학회논문지
    • /
    • 제6권2호
    • /
    • pp.335-346
    • /
    • 1999
  • 프로그램을 디버깅하는 과정은 원래 사고력이 집중적으로 필요한 작업이다. 이 프로세스를 수행하는 프로그래머를 돕기 위해서는 지식기반의 도구를 개발하는 것이 적절하다고 생각된다. 이 논문은 그러한 시스템에 대한 설계를 발표하기 위한 것이다. 주로 정형적 프로그램 기술과 자동 프로그램 이해에 기반을 둔 대부분의 지식기반 디버깅 도구들과는 달리 이 도구는 디버깅 휴리스틱에 기반을 둔 것이다. 이 도구는 지식베이스에 저장된 디버깅 휴리스틱을 이용하여 프로그램을 디버깅하는 프로그래머에게 무엇을 그리고 어느 곳을 살펴봐야 하는지 제안만을 하는 보조 도구이다. 이 논문에서는 여러 가지 유용한 디버깅 휴리스틱이 설명되며 그것들의 디버깅 프로세스에서의 사용법이 기술된다. 그 다음에는 그 지식들을 지식베이스에서 체계화하는 방안과 그 지식을 이용한 프로그램 디버깅 보조도구를 제안하고 토의한다.

  • PDF

HDF: Hybrid Debugging Framework for Distributed Network Environments

  • Kim, Young-Joo;Song, Sejun;Kim, Daeyoung
    • ETRI Journal
    • /
    • 제39권2호
    • /
    • pp.222-233
    • /
    • 2017
  • Debugging in distributed environments, such as wireless sensor networks (WSNs), which consist of sensor nodes with limited resources, is an iterative and occasionally laborious process for programmers. In sensor networks, it is not easy to find unintended bugs that arise during development and deployment, and that are due to a lack of visibility into the nodes and a dearth of effective debugging tools. Most sensor network debugging tools are not provided with effective facilities such as real-time tracing, remote debugging, or a GUI environment. In this paper, we present a hybrid debugging framework (HDF) that works on WSNs. This framework supports query-based monitoring and real-time tracing on sensor nodes. The monitoring supports commands to manage/control the deployed nodes, and provides new debug commands. To do so, we devised a debugging device called a Docking Debug-Box (D2-Box), and two program agents. In addition, we provide a scalable node monitor to enable all deployed nodes for viewing. To transmit and collect their data or information reliably, all nodes are connected using a scalable node monitor applied through the Internet. Therefore, the suggested framework in theory does not increase the network traffic for debugging on WSNs, and the traffic complexity is nearly O(1).

혼합수리 과정을 고려한 소프트웨어성능 평가 모형 (A Software Performance Evaluation Model with Mixed Debugging Process)

  • 장규범;이종형
    • Communications for Statistical Applications and Methods
    • /
    • 제18권6호
    • /
    • pp.741-750
    • /
    • 2011
  • 본 논문에서는 소프트웨어의 고장수리 과정 중 완전 수리와 불완전 수리를 모두 고려하는 혼합수리 모형을 제안하려고 한다. 이를 위해 소프트웨어가 가지고 있는 전체 결함의 유형을 고치기 쉬운 결함 유형과 고치기 어려운 결함 유형으로 나누고, 고치기 쉬운 결함의 경우에서는 수리 과정 중 결함을 완전하게 고친다고 가정한다. 또한 고치기 어려운 결함 유형은 완전 또는 불완전 수리가 가능하도록 가정하며, 이러한 가정과 마코프 과정(Markov process)하에서 소프트웨어 성능 평가를 위한 측도 중에 하나인 소프트웨어 가용성(software availability)을 제시하고자 한다.

Markovian Perfect Debugging Model and Its Related Measures

  • 이종형;남경현;박동호
    • 한국통계학회:학술대회논문집
    • /
    • 한국통계학회 2000년도 추계학술발표회 논문집
    • /
    • pp.57-64
    • /
    • 2000
  • In this paper we consider a Markovian perfect debugging model for which the software failure is caused by two types of faults, one which is easily detected and the other which is difficult to detect. When a failure occurs, a perfect debugging is immediately performed and consequently one fault is reduced from fault contents. We also treat the debugging time as a variable to develop a new debugging model. Several measures, including the distribution of first passage time to the specified number of removed faults, are also obtained using the proposed debugging model, Numerical examples are provided for illustrative purposes.

  • PDF

자바 프로그램을 위한 복합 디버깅 시스템의 설계 (Design of Hybrid Debugging System for Java Programs)

  • 고훈준
    • 한국콘텐츠학회논문지
    • /
    • 제9권1호
    • /
    • pp.81-88
    • /
    • 2009
  • 기존 연구에서는 자바 프로그램에서 논리적인 오류를 찾기 위한 기술로 HDTS를 제안했었다. HDTS는 알고리즈믹 프로그램 디버깅 기술을 이용하여 실행트리에서 오류를 포함하고 있는 메소드를 찾고, 단계적 프로그램 디버깅 기술을 이용하여 오류를 포함하고 있는 메소드에서 오류가 있는 문장을 찾아낸다. 그리고 분할 기술을 이용하여 오류를 포함하고 있는 메소드 내의 문장 중에서 디버깅에 관련이 없는 문장과 실행트리에서 불필요한 노드를 제거하여 노드의 수를 줄임으로서 사용자가 디버깅하는 횟수를 최소화할 수 있는 프로그램 디버깅 기술이다. 본 논문은 자바 프로그램을 디버깅할 수 있는 HDTS 시스템을 구현하기 위한 설계를 한다. 먼저, 자바의 부분언어를 정의하고 자바 원시 코드를 번역할 수 있는 번역기와 실행할 수 있는 가상머신을 설계한다. 그리고 사용자가 디버깅하기 위한 사용자 그래픽 인터페이스를 설계한다.

자바 원시 코드에서 논리적인 오류를 찾는 복합 디버깅 기술의 설계 (Design of Hybrid Debugging Technique for Locating Logical Errors in Java Source Codes)

  • 고훈준
    • 한국콘텐츠학회논문지
    • /
    • 제6권10호
    • /
    • pp.114-125
    • /
    • 2006
  • 이전 논문은 자바 프로그램에서 논리적인 오류를 찾기 위한 기술로 HDT를 제안했었다. HDT는 알고리즈믹 프로그램 디버깅 기술을 이용하여 실행트리에서 오류를 포함하고 있는 메소드를 찾고, 단계적 프로그램 디버깅 기술을 이용하여 오류를 포함하고 있는 메소드에서 오류가 있는 문장을 찾아낸다. 이 기술은 전통적인 디버깅 기술보다 자바 프로그램에서 프로그래머가 디버깅하는 횟수를 줄였다. 그러나 최근에는 프로그램 크기가 증가하고 메소드의 수가 증가하고 있기 때문에 아직까지 HDT는 디버깅하는 횟수가 많다. 이 논문은 HDT에 프로그램 분할 기술을 적용하는 HDTS를 제안한다. 이 방법은 자바 프로그램을 디버깅할 때, HDT보다 프로그래머가 디버깅하는 횟수를 줄여 줄 수 있다. 특히, HDTS는 메소드와 문장의 수가 증가할수록 효율성이 증가한다.

  • PDF

분석 환경에 따른 안티 디버깅 루틴 자동 탐지 기법 (An automatic detection scheme of anti-debugging routines to the environment for analysis)

  • 박진우;박용수
    • 인터넷정보학회논문지
    • /
    • 제15권6호
    • /
    • pp.47-54
    • /
    • 2014
  • 여러 가지 역공학 방지기술들 중 하나인 안티 디버깅 기술은 특정 프로그램을 대상으로 공격자나 분석가가 디버거를 사용하여 분석을 하지 못하도록 하기 위한 기술로써, 예전부터 악성코드 및 분석을 방지하고자 하는 여러 가지 프로그램들에 적용이 되었으며 현재까지도 많이 사용이 되고 있는 기술이다. 본 논문에서는 이러한 안티 디버깅 루틴에 대한 자동화 탐지 방법을 제안한다. 탐지는, 디버거 및 시뮬레이터를 통해 실행 명령어 및 API(Application Program Interface)에 대한 트레이스 정보들을 추출하고, 추출된 정보들을 비교하여 안티 디버깅 루틴으로 의심이 가는 지점을 찾는 방식으로 진행된다. 실험 결과, 알려진 25가지의 안티 디버깅 기법들 중 21가지에 대하여 정상적으로 탐지가 이루어졌다. 이와 같이, 본 기법은 특정 안티 디버깅 기술에 의존적이지 않으며, 추후 개발 및 발견되는 안티 디버깅 기술들에 대한 탐지의 경우에도 적용이 가능할 것으로 예상된다.

유니뷰 자바 디버깅 시스템의 설계 및 구현 (Design and Implementation of Uniview Java Debugging System)

  • 옥재호;정연정;이공선;윤기송
    • 정보기술과데이타베이스저널
    • /
    • 제7권2호
    • /
    • pp.33-45
    • /
    • 2000
  • Uniview system is a client-server system that runs on heterogeneous distributed systems and supports the debugging of various kinds of programs. Its client system provides a unified debugging concept and interface on various debuggers of heterogeneous hosts. Its server system provides debugging services and features openness and scalability by interoperating with one or more debugger processes existing on the same host. Based on FSF(Free Software Foundation)'s gdb and Sun Microsystems's dbx. Uniview system supports C/C++ programming language in various UNIX environments as well as Windows environments. The proposed system was designed and implemented to support the JAVA language, which is prevalently used in recent heterogeneous distributed systems and was partly extended to make a clear analysis of JAVA class file structure. Sun Microsystems's Jdb supplied as a JAVA debugger has very limited functions compared to other programming language debugger. In this paper, Uniview as a JAVA debugging system was implemented to provide debugging technologies which are necessary to debug Java applications but missing in current JAVA language as well as to provide its users with various information.

  • PDF

Pin을 이용한 안티디버깅 우회 설계 및 구현 (The design and implementation of pin plugin tool to bypass anti-debugging techniques)

  • 홍수화;박용수
    • 인터넷정보학회논문지
    • /
    • 제17권5호
    • /
    • pp.33-42
    • /
    • 2016
  • Pin은 프로그램 동적 분석 도구를 생성할 수 있는 프레임워크로, 리눅스와 윈도우에서 사용자 영역의 프로그램 분석을 수행할 수 있게 한다. 역공학 방지 프로그램이나 악성코드는 프로그램 분석을 방해하는 안티디버깅이 적용되어 있기 때문에 Pin을 사용한 분석이 어렵다. 본 논문에서는 Pin을 이용해서 프로그램에 적용된 안티디버깅을 우회하여 동적 분석을 진행할 수 있는 Pin 플러그인 프로그램을 설계한 내용과 구현한 내용을 제안한다. Pin 탐지 안티디버깅을 우회할 수 있는 각각의 Pin 코드를 작성하고, Pin 코드를 하나로 합쳐 여러 안티디버깅을 우회할 수 있는 Pin 도구를 구현한다. 구현된 Pin 도구는 안티디버깅을 지원하는 프로텍터로 생성한 파일로 안티디버깅 우회 실험을 진행한다. 본 기법은 추후에 발견되는 안티디버깅 우회 코드 작성의 참고자료가 될 것이고 발견된 안티디버깅에 맞춰 수정 후 추가 적용이 가능할 것으로 예상된다.

자바 언어를 위한 알고리즈믹 디버깅 기술의 설계 (Design of an Algorithmic Debugging Technique for Java Language)

  • 고훈준;유원희
    • 정보처리학회논문지A
    • /
    • 제11A권1호
    • /
    • pp.97-108
    • /
    • 2004
  • 본 논문은 자바 프로그램에서 논리적인 오류를 발견하기 위해 알고리즈믹 디버깅 기술의 이용을 제안한다. 알고리즈믹 디버깅 기술은 원시프로그램으로부터 실행 트리를 생성하고, 실행 트리로부터 프로그램 내에 포함된 논리적인 오류를 하향식 방법으로 발견하는 반자동화 디버깅기술이다. 따라서 알고리즈믹 디버깅 기술은 다양한 프로그래밍 언어에 알맞은 실행 트리를 생성하는 것이 중요하다. 주 논문에서는 자바 프로그램으로부터 실행 트리를 생성하는 방법을 제안하고 예제론 통해서 자바 프로그램을 위한 알고리즈믹 디버깅 기술을 확인한다. 이 접근은 전통적인 순차적 디버깅 기술보다 사용자와 디버깅 시스템 사이에서 상호작용의 수를 줄일 수 있다.