• Title/Summary/Keyword: debugging

Search Result 341, Processing Time 0.027 seconds

Development ERC32 Processor Emulator based on QEMU (QEMU를 기반으로 한 ERC32 프로세서 에뮬레이터 개발)

  • Choi, Jong-Wook;Shin, Hyun-Kyu;Lee, Jae-Seung;Cheon, Yee-Jin
    • Aerospace Engineering and Technology
    • /
    • v.10 no.2
    • /
    • pp.105-113
    • /
    • 2011
  • During the development of flight software, the processor emulator and satellite simulator are essential tools for software development and verification, which can be substituted for the actual hardware. LEO satellites being developed by KARI recently use the MCM-ERC32SC processor for on-board computer (OBC). For the flight software (FSW) development and testing, the software-based spacecraft simulator was developed using TSIM-ERC32 processor emulator from Aeroflex Gaisler. It is needed to get rid of the constraints and dependencies of TSIM-ERC32 processor emulator and to obtain high performance processor emulator to develop full satellite simulator. This paper presents the development of the ERC32 emulator based on open source dynamic translator, QEMU, as the first step. And it describes the software development and testing/debugging on the developed emulator.

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

  • Jo, Kyong-Jin;Kim, Seon-Wook
    • The KIPS Transactions:PartA
    • /
    • v.18A no.2
    • /
    • pp.61-68
    • /
    • 2011
  • Memory error debugging is one of the most critical processes in improving software quality. However, due to the extensive time consumed to debug, the enhancement often leads to a huge bottle neck in the development process of mobile devices. Most of the existing memory error detection tools are based on static error detection; however, the tools cannot be used in mobile devices due to their use of large working memory. Therefore, it is challenging for mobile device vendors to deliver high quality mobile devices to the market in time. In this paper, we introduce "PinMemcheck", a pin-based memory error detection tool, which detects all potential memory errors within $1.5{\times}$ execution time overhead compared with that of a baseline configuration by applying the Pin's binary instrumentation process and a simple data structure.

On the Efficiency Comparison of Dynamic Program Slicing Algorithm using Multiple Criteria Variables (다중 기준변수를 사용한 동적 프로그램 슬라이싱 알고리즘의 효율성 비교)

  • Park, Sun-Hyeong;Park, Man-Gon
    • The Transactions of the Korea Information Processing Society
    • /
    • v.6 no.9
    • /
    • pp.2384-2392
    • /
    • 1999
  • Software engineers are used to analyse the error behavior of computer programs using test cases which are collected for the testing phase when software errors are detected. In actual software testing and debugging, it is important to adopt dynamic slicing technique which is concerned on all the statements to be affected by the variables of current inputs and to use technique of its implementations. The traditional dynamic slicing has focused on the single slicing criterion algorithm. It has been thought that it is needed to develope and implement algorithm for used multiple criteria variables program slicing, which finds every slicing criterion variable where it is used multiple criteria variables. In this paper, we propose an efficient algorithm to make dynamic program slices when it has used multiple criteria variables. The results of the implementation are presented by the making table on execution history and the dynamic dependence graph. Also we can find that the proposed dynamic program slicing approach using multiple criteria variables is more efficient than the traditional single case algorithm on the practical testing environment.

  • PDF

Visualized Execution Analyzer for the Java Class File (자바 클래스 파일에 대한 시각화 실행 분석기)

  • Ko, Kwang-Man
    • The KIPS Transactions:PartA
    • /
    • v.11A no.5
    • /
    • pp.319-324
    • /
    • 2004
  • The Java language is rapidly being adopted in the Internet. The distributed applications and their application range are being expanded beyond just a programing language and developed Into software applications. A variety of researches are going on with regard to the Java Virtual Machine runtime environment and methods of analyzing the Java class files and utilizing the information for applications. A class file is a converted file that is executable by the Java virtual machine. Analysis on the class file structure and the runtime processes will be convenient in arranging the decompilers and debugging the source programs. This paper is about the runtime process analyzer that presents the runtime processes, including class files, more visually. The content of a class file will be easily accessed and expressed as in a graphic user interface. The information in the class file displayed is divided into Constant_Pool, Class_file, Interface, Field, Method and Attribute with information on method area, operand stack and local variables expressed visually.

Design & Implementation of Flight Software Satellite Simulator based on Parallel Processing (병렬처리 기반의 위성 탑재소프트웨어 시뮬레이터 설계 및 개발)

  • Choi, Jong-Wook;Nam, Byeong-Gyu
    • Journal of Satellite, Information and Communications
    • /
    • v.7 no.2
    • /
    • pp.80-86
    • /
    • 2012
  • The software-based satellite simulator has been developed from the start of the project to resolve the restriction and limitation of using hardware-based software development platform. It enables the development of flight software to be performed continuously since initial phase. The satellite simulator emulates the on-board computer, I/O modules, electronics and payloads, and it can be easily adapted and changed on hardware configuration change. It supports the debugging and test facilities for software engineers to develop flight software. Also the flight software can be loaded without any modification and can be executed as faster than real-time. This paper presents the architecture and design of software-based GEO satellite simulator which has hot-standby redundancy mechanism, and flight software development and test under this environment.

Instrumentation Performance Measurement Technique for Evaluating Efficiency of Binary Analysis Tools (바이너리 분석도구 효율성 평가를 위한 Instrumentation 성능 측정기법)

  • Lee, Minsu;Lee, Jehyun;Kim, Hobin;Ryu, Chanho
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.27 no.6
    • /
    • pp.1331-1345
    • /
    • 2017
  • Binary instrumentation has been developed for monitoring and debugging executables without their source codes. Previous efforts on the binary instrumentation are mainly focused on its capability and accuracy, but not on efficiency for practical application. In particular, criteria and measurement methodologies for evaluating and comparing the efficiency of binary investigation tools and algorithms do not estimated yet. In this paper, we propose the instrumentation primitives which are a unit functionality and measurement methodology. Through the empirical experiments by adopting the proposed methodology on DynamoRIO and Pin, we show the feasibility of the proposal.

A Query Preprocessing Tool for Performance Improvement in Complex Event Stream Query Processing (복합 이벤트 스트림 질의 처리 성능 개선을 위한 질의 전처리 도구)

  • Choi, Joong-Hyun;Cho, Eun-Sun;Lee, Kang-Woo
    • KIISE Transactions on Computing Practices
    • /
    • v.21 no.8
    • /
    • pp.513-523
    • /
    • 2015
  • A complex event processing system, becoming useful in real life domains, efficiently processes stream of continuous events like sensor data from IoT systems. However, those systems do not work well on some types of queries yet, so that programmers should be careful about that. For instance, they do not sufficiently provide detailed guide to choose efficient queries among the almost same meaning queries. In this paper, we propose an query preprocessing tool for event stream processing systems, which helps programmers by giving them the hints to improve performance whenever their queries fall in any possible bad formats in the performance sense. We expect that our proposed module would be a big help to increases productivity of writing programs where debugging, testing, and performance tuning are not straightforward.

A Labeling Scheme for Efficient On-the-fly Detection of Race Conditions in Parallel Programs (병렬프로그램의 경합조건을 수행 중에 효율적으로 탐지하기 위한 레이블링 기법)

  • Park, So-Hee;Woo, Jong-Jung;Bae, Jong-Min;Jun, Yong-Kee
    • The KIPS Transactions:PartA
    • /
    • v.9A no.4
    • /
    • pp.525-534
    • /
    • 2002
  • Race conditions, races in short, need to be detected for debugging parallel programs, because the races result in unintended non-deterministic executions. To detect the races in an execution of program, previous techniques use a centralized data structure which may incur serious bottleneck in generating concurrency information, or show inefficient time complexity which depends on the degree of nested parallelism in comparing any two of them. We propose a new labeling scheme in this paper, which is scalable in generating the concurrency information without bottleneck by using private data structure, and improves time complexity into constant in checking concurrency. The scalability and time efficiency therfore makes on-the-fly race detection efficient not only for programs with either shared-memory or message-passing, but also for programs with mixed model of the two.

A Study on the Implementation of the On-Board Diagnostic Function on the Smart Phone and the Compatibility Test for Short-Range Wireless Communications (스마트폰 연동 차량의 온보드 고장진단 기능 구현과 근거리 무선통신 호환성 시험에 관한 연구)

  • Koo, Je-Gil;Yang, Seong-Ryul;Song, Jong-Wook;Lee, Choong-Hyuk;Yang, Jae-Soo
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.5 no.9
    • /
    • pp.285-292
    • /
    • 2016
  • By adding short-range wireless communication function such as Bluetooth and Wi-Fi to the last vehicle in conjunction with a smart phone, a modern automobile is becoming entertainment screen to determine a variety of information such as car location information, diagnosis information, etc. through the ECU vehicle electronic control unit. In this study, by utilizing short-range communications capability of the on-board diagnostic devices and smart phones in association with the on-board diagnostics, compatibility tests among a number of smart phone models, Bluetooth and NFC(Near Field Communication) were carried out and those results were analyzed. Furthermore, composition of on-board diagnostic device having Bluetooth and NFC interface function and the fault diagnosis function were implemented, and fault diagnosis debugging program was developed. In addition, fault diagnosis data of the vehicle via the OBD-II interface was extracted. Finally, the on-board diagnostics CAN Protocol implementation has been proposed, and the results of work was analyzed.

Design and implementation of the location based map system using linux-based embedded terminals (임베디드 리눅스 단말기를 이용한 위치 기반 전자지도 시스템의 설계 및 구현)

  • Jun, Bong-Gi;Kim, Jeong-Won
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.11 no.1
    • /
    • pp.66-74
    • /
    • 2007
  • The most commonly used navigation systems work on Windows CE platforms. Linux-based embedded terminals have price competitiveness, because Linux is a free operation system. In order to develop map services on Linux-based embedded terminals, there were a number of technical hurdles that had to be resolved. Since the Linux-based embedded terminals is a low power, low cost, and small size platform with low processing capabilities, we must have developed the spatial database engine that minimize the number of disk accesses. We solved problems that are the processing korean language and the lack of debugging tools on Linux. In this paper, we has developed the spatial database engine and user interfaces on hand-held terminals based on embedded Linux for implementing the location based map system With view of this implementation results, we confirmed the possibility of using our embedded linux terminal as telematics terminals or navigation terminals.