• Title/Summary/Keyword: 순서 위배 오류

Search Result 2, Processing Time 0.015 seconds

An Efficient On-the-fly Repairing System of Order Violation Errors for Health Management of Airborne Software (항공기 소프트웨어의 건전성 관리를 위해서 순서 위배 오류를 자율 수리하는 효율적인 시스템)

  • Kim, Tae-Hyung;Choi, Eu-Teum;Jun, Yong-Kee
    • Journal of the Korean Society for Aeronautical & Space Sciences
    • /
    • v.48 no.10
    • /
    • pp.821-829
    • /
    • 2020
  • Health management system of airborne software repairs runtime errors to provide safety and to reduce cost of maintenance. It is critical to on-the-fly repair order violation errors, because it is difficult to identify them at the development phase. Previous work, called Repairing Atomicity Violations (Repairing-AV) diagnoses order violations for each access event by comparing execution order of accesses. As a result, Repairing-AV has time overhead that is proportional to the number of access events to shared variable. This paper presents a tool called On-the-fly Repairing System (ORS) that can repair order violations of object methods containing access events. The ORS diagnoses order violations by using correct order of object methods, and treats them by stalling its thread where the error is about to occur. Experimentation with five synthetic programs shows that ORS is more efficient than Repairing-AV when the number of access events is greater than sixty.

On-the-fly Monitoring Tool for Detecting Data Races in Multithread Programs (멀티 스레드 프로그램의 자료경합 탐지를 위한 수행 중 감시 도구)

  • Paeng, Bong-Jun;Park, Se-Won;Kuh, In-Bon;Ha, Ok-Kyoon;Jun, Yong-Kee
    • Journal of KIISE
    • /
    • v.42 no.2
    • /
    • pp.155-161
    • /
    • 2015
  • It is difficult and cumbersome to figure out whether a multithread program runs with concurrency bugs, such as data races and atomicity violations, because there are many possible executions of the program and a lot of the defects are hard to reproduce. Hence, monitoring techniques for collecting and analyzing the information from program execution, such as thread executions, memory accesses, and synchronization information, are important to locate data races for debugging multithread programs. This paper presents an efficient and practical monitoring tool, called VcTrace, that analyzes the partial ordering of concurrent threads and events during an execution of the program based on the vector clock system. Empirical results on C/C++ benchmarks using Pthreads show that VcTrace is a sound and practical tool for on-the-fly data race detection as well as for analyzing multithread programs.