• Title/Summary/Keyword: debugging

Search Result 337, Processing Time 0.027 seconds

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

  • Seo, Dong-Geun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.6 no.2
    • /
    • pp.335-346
    • /
    • 1999
  • The process of program debugging is essentially an intelligence intensive process. It is thought viable to develop a knowledge-based tool to help programmer perform this process. This paper presents the design of such a system. Unlike other knowledge-based debugging tools which are mostly based on formal program specification and automatic program understanding, this tool is based on debugging heuristic. This tool is a debugging assistant which only suggests the programmer in program debugging what and where to examine using the debugging heuristic stored in the knowledge base. In this paper, a umber of useful heuristic debugging knowledge are explained and their usage in debugging process are described. The, a scheme to organize the knowledge in the knowledge base and an intelligent program debugging assistant using the knowledge are proposed and discussed.

  • PDF

HDF: Hybrid Debugging Framework for Distributed Network Environments

  • Kim, Young-Joo;Song, Sejun;Kim, Daeyoung
    • ETRI Journal
    • /
    • v.39 no.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 (혼합수리 과정을 고려한 소프트웨어성능 평가 모형)

  • Jang, Kyu-Beom;Lee, Chong-Hyung
    • Communications for Statistical Applications and Methods
    • /
    • v.18 no.6
    • /
    • pp.741-750
    • /
    • 2011
  • In this paper, we derive an software mixed debugging model based on a Markov process, assuming that the length of time to perform the debugging is random and its distribution may depend on the fault type causing the failure. We assume that the debugging process starts as soon as a software failure occurs, and either a perfect debugging or an imperfect debugging is performed upon each fault type. One type is caused by a fault that is easily corrected and in this case, the perfect debugging process is performed. An Imperfect debugging process is performed to fix the failure caused by a fault that is difficult to correct. Distribution of the first passage time and working probability of the software system are obtained; in addition, an availability function of a software system which is the probability that the software is in working at a given time, is derived. Numerical examples are provided for illustrative purposes.

Markovian Perfect Debugging Model and Its Related Measures

  • Lee Chong Hyung;Nam Kyung Hyun;Park Dong Ho
    • Proceedings of the Korean Statistical Society Conference
    • /
    • 2000.11a
    • /
    • 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 (자바 프로그램을 위한 복합 디버깅 시스템의 설계)

  • Kouh, Hoon-Joon
    • The Journal of the Korea Contents Association
    • /
    • v.9 no.1
    • /
    • pp.81-88
    • /
    • 2009
  • In the previous work, we presented HDTS for locating logical errors in Java programs. The HDTS locates an erroneous method at an execution tree using an algorithmic program debugging technique and locates a statement with errors in the erroneous method using a step-wise program debugging. The technique can remove the unnecessary statements and nodes in debugging using a program slicing technique at the execution tree. So HDTS reduces the number of program debugging. In this paper, we design HDTS system for debugging java programs. We define small subset of Java language and design the translator that translates java source codes and the virtual machine that runs java programs. We design GUI(Graphical User Interface) for debugging.

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

  • Kouh, Hoon-Joon
    • The Journal of the Korea Contents Association
    • /
    • v.6 no.10
    • /
    • pp.114-125
    • /
    • 2006
  • In the previous work, we presented HDT for locating logical errors in Java programs. The HDT locates an erroneous method at an execution tree using an algorithmic program debugging technique and locates a statement with errors in the erroneous method using a step-wise program debugging. It reduced the number of programmer debugging in Java programs. But the HDT still increases the number of debugging because the size of the recent programs increases than the past programs and the number of methods is increasing. This paper proposes HDTS using a program slicing technique (PST) at the MDT. HDTS can reduce the number of programmer debugging. Specially, the more the number of methods and statements increases, the more HDTS has effects.

  • PDF

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

  • Park, Jin-Woo;Park, Yong-Su
    • Journal of Internet Computing and Services
    • /
    • v.15 no.6
    • /
    • pp.47-54
    • /
    • 2014
  • Anti-debugging is one of the techniques implemented within the computer code to hinder attempts at reverse engineering so that attackers or analyzers will not be able to use debuggers to analyze the program. The technique has been applied to various programs and is still commonly used in order to prevent malware or malicious code attacks or to protect the programs from being analyzed. In this paper, we will suggest an automatic detection scheme for anti-debugging routines. With respect to the automatic detection, debuggers and a simulator were used by which trace information on the Application Program Interface(API) as well as executive instructions were extracted. Subsequently, the extracted instructions were examined and compared so as to detect points automatically where suspicious activity was captured as anti-debugging routines. Based on experiments to detect anti-debugging routines using such methods, 21 out of 25 anti-debugging techniques introduced in this paper appear to be able to detect anti-debugging routines properly. The technique in the paper is therefore not dependent upon a certain anti-debugging method. As such, the detection technique is expected to also be available for anti-debugging techniques that will be developed or discovered in the future.

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

  • 옥재호;정연정;이공선;윤기송
    • The Journal of Information Technology and Database
    • /
    • v.7 no.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

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

  • Hong, Soohwa;Park, Yongsu
    • Journal of Internet Computing and Services
    • /
    • v.17 no.5
    • /
    • pp.33-42
    • /
    • 2016
  • Pin is a framework that creates dynamic program analysis tools and can be used to perform program analysis on user space in Linux and Windows. It is hard to analyze the program such as Anti-reversing program or malware using anti-debugging by Pin. In this paper, we will suggest the implementation of scheme bypassing anti-debugging with Pin. Each pin code is written to bypass anti-debugging detecting Pin. And Pin creates a pin tool combined with Pin codes that bypass anti-debugging methods. The pin tool are tested with files created by anti-debugging protector. The technique in the paper is expected to be a reference of code bypassing anti-debugging and be applied to bypass newly discovered anti-debugging through code modification in the future.

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

  • Kouh, Hoon-Joon;Yoo, Weon-Hee
    • The KIPS Transactions:PartA
    • /
    • v.11A no.1
    • /
    • pp.97-108
    • /
    • 2004
  • This paper proposes to use an algorithmic debugging technique for locating logical errors in Java programs. The algorithmic debugging is a semi-automated debugging technique that builds an execution tree from a source program and locates logical errors, if any, included in the program from the execution tree with top-down method. So, it is very important to build a suitable execution tree from the various programming languages. In this paper we propose the method for building an execution tree iron Java programs and walk through an example. This approach could reduce the number of interactions between a user and a debugging system than the traditional step-wise debugging technique.