• Title/Summary/Keyword: Debugger

Search Result 59, Processing Time 0.036 seconds

A Transparent Monitor Based on JDI for Scalable Race Detection of Concurrent Java Programs (병행 Java 프로그램의 확장적 경합탐지를 위한 JDI 기반의 투명한 감시도구)

  • Kim, Young-Joo;Kuh, In-Bon;Bae, Byoung-Jin;Jun, Yong-Kee
    • The KIPS Transactions:PartA
    • /
    • v.16A no.2
    • /
    • pp.55-60
    • /
    • 2009
  • Race conditions in current Java programs must be detected because it may cause unexpected result by non-deterministic executions. For detecting such races during program execution, execution flows of all threads and all access events can be monitored. It is difficult for previous race detection techniques to monitor all threads and access events in actuality because these techniques analyze the files traced during program execution or modify original source programs and then monitor these programs. This paper presents a transparent scalable monitoring tool to detect races using JDI(Java Debug Interface) where JDI is 100% pure java interface to provide in JDPA(Java Platform Debugger Architecture) and is able to provide information corresponding to events occurred in run-time of programs. This tool thus can monitor execution flows of all threads and all access events without program modification. We prove transparency of the presented tool and grasp the efficiency of it using a set of published benchmark programs. As a result of this, the suggested tool can monitor all threads and accesses of these programs without their modification, and their monitoring time is increased to more than 20 times.

Development of LLDB module for potential vulnerability analysis in iOS Application (iOS 어플리케이션의 잠재적 취약점 분석을 위한 LLDB 모듈 개발)

  • Kim, Min-jeong;Ryou, Jae-cheol
    • Journal of Internet Computing and Services
    • /
    • v.20 no.4
    • /
    • pp.13-19
    • /
    • 2019
  • In order to register an application with Apple's App Store, it must pass a rigorous verification process through the Apple verification center. That's why spyware applications are difficult to get into the App Store. However, malicious code can also be executed through normal application vulnerabilities. To prevent such attacks, research is needed to detect and analyze early to patch potential vulnerabilities in applications. To prove a potential vulnerability, it is necessary to identify the root cause of the vulnerability and analyze the exploitability. A tool for analyzing iOS applications is the debugger named LLDB, which is built into Xcode, the development tool. There are various functions in the LLDB, and these functions are also available as APIs and are also available in Python. Therefore, in this paper, we propose a method to efficiently analyze potential vulnerabilities of iOS application by using LLDB API.

Energy-aware Dynamic Frequency Scaling Algorithm for Polling based Communication Systems (폴링기반 통신 시스템을 위한 에너지 인지적인 동적 주파수 조절 알고리즘)

  • Cho, Mingi;Park, Daejin
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.26 no.9
    • /
    • pp.1405-1411
    • /
    • 2022
  • Power management is still an important issue in embedded environments as hardware advances like high-performance processors. Power management methods such as DVFS control CPU frequencies in an adaptive manner for efficient power management in polling-based I/O programs such as network communication. This paper presents the problems of the existing power management method and proposes a new power management method. Through this, it is possible to reduce electric consumption by increasing the polling cycle in situations where the frequency of data reception is low, and on the contrary, in situations where data reception is frequent, it can operate at the maximum frequency without performance degradation. After implementing this as a code layer on the embedded board and observing it through Atmel's Power Debugger, the proposed method showed a performance improvement of up to 30% in energy consumption compared to the existing power management method.

The Development of Reusable SoC Platform based on OpenCores Soft Processor for HW/SW Codesign

  • Bin, Young-Hoon;Ryoo, Kwang-Ki
    • Journal of information and communication convergence engineering
    • /
    • v.6 no.4
    • /
    • pp.376-382
    • /
    • 2008
  • Developing highly cost-efficient and reliable embedded systems demands hardware/software co-design and co-simulation due to fast TTM and verification issues. So, it is essential that Platform-Based SoC design methodology be used for enhanced reusability. This paper addresses a reusable SoC platform based on OpenCores soft processor with reconfigurable architectures for hardware/software codesign methodology. The platform includes a OpenRISC microprocessor, some basic peripherals and WISHBONE bus and it uses the set of development environment including compiler, assembler, and debugger. The platform is very flexible due to easy configuration through a system configuration file and is reliable because all designed SoC and IPs are verified in the various test environments. Also the platform is prototyped using the Xilinx Spartan3 FPGA development board and is implemented to a single chip using the Magnachip cell library based on $0.18{\mu}m$ 1-poly 6-metal technology.

A Debugger based on Selective Redex Trail (선택적 레덱스 트레일 기반의 디버거)

  • Park, Hee-Wan;Han, Tai-Sook
    • Journal of KIISE:Software and Applications
    • /
    • v.27 no.9
    • /
    • pp.973-985
    • /
    • 2000
  • 함수형 프로그래밍 언어는 전통적인 프로시저형 언어에 비하여 많은 장점이 있다. 그러나 함수 언어 프로그래머를 위한 실용적인 디버깅 환경은 상대적으로 빈약하다. 그동안 유용한 디버거 구현을 위해서 많은 시도가 있었고, 그 결과로 하향식 기법으로 이용한 알고리즈믹 디버거와 상향식 기법을 이용한 레덱스 트레일 디버거가 연구되었다. 두가지 기법은 모두 실제 프로그래밍에 적용하기에는 유지해야 하는 디버깅 정보의 양이 많다는 단점이 있다. 이 논문에서는 선택적 레덱스 트레일 디버깅 방법을 제안한다. 이 방법을 이용하면 디버거 사용자는 프로그램에서 오류가 예상되는 부분에 포커스를 설정할 수 있고 단지 선택된 부분에 한하여 트레일을 생성하게 된다. 이 방법은 프로그램의 오류에 대한 디버거 사용자의 예측을 반영하고 디버깅에 필요한 정보의 양을 줄이는 장점이 있다. 구현된 디버깅 시스템은 선택적 레덱스 트레일을 생성하는 추상기계와 실제 디버깅이 이루어지는 레덱스 트레일 탐색기로 구성된다.

  • PDF

Design and Implementation of a Remote Debugger based on Web (웹 기반 원격 소프트웨어 디버거의 설계)

  • Hong, Chang-Ho;Park, Hong-Seong
    • Proceedings of the KIEE Conference
    • /
    • 2009.07a
    • /
    • pp.1861_1862
    • /
    • 2009
  • Linux 시스템에서 gdb와 gdbserver를 이용하여 원격지의 대상 프로세스에 대해 호스트 컴퓨터에서 디버깅이 가능하다. 이는 상대적으로 적은 리소스를 가진 원격지 컴퓨터나 임베디드 시스템에서 프로세스를 원격지의 시스템보다 풍부한 리소스를 지닌 호스트 컴퓨터를 통해서 디버깅을 수행함으로써 직접 디버깅을 수행할 때 원격지 시스템에 오는 부하를 줄일 수 있다는 장점이 있다[1]. 하지만 gdb와 gdbserver를 이용한 원격지 디버깅은 gdb가 동작하는 호스트 컴퓨터가 반드시 gdb가 운용 가능한 환경이어야 한다는 점과 디버깅을 수행하기 전 호스트 컴퓨터에 대한 환경 설정에 많은 시간과 노력이 필요하다는 점을 생각했을 때 효율적이지 못하다. 또한 gdb에서 기본적으로 제공하는 사용자 인터페이스가 CLI(Comman Line Interface) 라는 점은 익숙하지 않은 사용자에게 불편함을 안겨줄 수 있다. 본 논문에서는 gdb와 gdbserver의 기본 동작을 웹 인터페이스와 연동함으로써 이러한 문제점에 대한 해결 방안을 제시하고자 한다.

  • PDF

An Implementation of the switching-chip for ATM using the MCM technology (MCM기술을 사용한 ATM용 Swithching칩 구현)

  • 김남우;이정희;한인탁;윤재석;허창우
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 1999.05a
    • /
    • pp.398-402
    • /
    • 1999
  • 본 논문에서는 MCM기술을 사용한 ATM용 Switching칩을 구현하고, 그 기능을 검증하였다. Switching칩의 MCM구현을 위해 기능 검증 및 상용화가 이루어진 기존 칩들의 VHDL코드를 이용하여 패키지 모델을 생성하였고, 칩의 검증은 VHDL 테스트벡터를 생성하고, 입ㆍ출력 값을 얻었다. 얻은 입력 데이터를 칩 테스트장비에 입력하여 구현된 칩에 넣고 나오는 출력을 벡터 시뮬레이션을 통해 얻은 결과 값과 비교하였다. 다양한 기능의 검증을 위하여 3가지 패턴의 벡터를 생성, 그 성능을 검증하였다. 본 연구에서 생성된 테스트 벡터는 썬 웍스테이션 상에서 Synopsys사의 툴인 vhdl analyzer와 vhdl debugger를 이용하여 simulation하였고, 각 벡터들의 입출력을 텍스트로 얻었다. 그리고 칩의 기능 시험을 위하여 일반적으로 사용되는 Trillium 장비를 사용하였다. 본 연구를 통하여 MCM후에 생성된 벡터의 입ㆍ출력 값과 테스트장비로부터 얻은 출력이 여러 기능들에 대하여 일치됨을 알았다.

  • PDF

Design and Implementation of OSEK/VDX Development Tool for Automotive Applications (OSEK/VDX 기반의 차량 전장용 응용개발도구 설계 및 구현)

  • Ahn, SungHo;Kim, JaeYoung;Kim, GwangSu
    • IEMEK Journal of Embedded Systems and Applications
    • /
    • v.4 no.2
    • /
    • pp.84-89
    • /
    • 2009
  • This paper describes the development tool for applications of automotive electronic control unit based on OSEK/VDX. This development tool has a plug-in structure and is written in Java language, because of being based on Eclipse CDT. And also this development tool has another functionality of expansion, which means a special function block can be easily adopted in this development tool. Currently, this development tool consists of five blocks, which are integrated development environment block, fusing program block, system generation block, debugger block, and cross-compiler toolchain block. They have relationship between each other and work for developing OSEK/VDX-based applications. In this paper, we show the functionality of each block of this development tool and its implementation.

  • PDF

A Design and Implementation of efficient SDKs for the embedded system (내장형 시스템의 효율적인 개발 환경 설계 및 구현)

  • 김성훈;유진호;신형철;하정현;한동원
    • Proceedings of the IEEK Conference
    • /
    • 2000.11c
    • /
    • pp.105-108
    • /
    • 2000
  • An embedded system is a combination of computer hardware and software, and perhaps additional mechanical or other parts, designed to perform a specific function. In this paper, we design and implement efficient SDKs for the embedded system. When we develop the embedded system, we use the cross development method because of limited resource. Simulator, stub for GDB, and monitor are implemented in order. Simulator consists of 4 threads; CPU, display, I/O, timer thread. Stub is developed to connect GDB. Monitor is programed to improve stub and can debug the application program without the debugger in the host.

  • PDF

A Java Debugger for Replaying Parallel Programs on a Distributed Environment (분산환경에서 병렬프로그램 재실행을 위한 자바 디버거)

  • 최동순;김남훈;김명호
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.657-659
    • /
    • 2000
  • 네트워크 처리속도의 증가로 네트워크 컴퓨팅 환경에서의 작업이 늘고 있다. 플랫폼 독립성이라는 특성을 내세운 자바는 일반적인 이 기종간의 네트워크에서의 프로그래밍 언어로 많이 이용되고 있다. 그리고 이러한 네트워크 컴퓨팅 환경에서 병렬 프로그램 디버깅의 어려움으로 인해 자바 병렬 프로그램을 위한 디버거의 필요성이 요구되고 있다. 기존의 디버거들은 이런 병렬 환경에서의 디버깅을 각 프로세서에 하나의 순차디버거를 붙인 디버깅 환경을 제공한다. 그러나 병렬 프로그램은 순차프로그램과 다른 재실행시의 비결정적인 특성을 가지고 있음으로 일반적인 순차 디버거를 이용한 디버깅은 의미가 없다. 본 논문에서는 자바로 구현된 네트워크 컴퓨터(JaNeC)에서 병렬프로그램을 디버기하기 위하여 재실행 시 실행 순서를 보장하는 자바 디버거를 소개한다.

  • PDF