@article{eaa36a963dca4d50a7e590b301c2ac61,
title = "Dynamic Analysis Method for Concurrency Bugs in Multi-process/Multi-thread Environments",
abstract = "In this paper, we propose a method of analyzing the types and causes of concurrency bugs that can occur in multi-process/multi-thread environments by analyzing the information gathered in the execution environment. Our method reduces the false detection rate by employing a hooking technique that intercepts the software{\textquoteright}s execution at runtime and reduces the overhead that can occur in the original software due to defect detection methods using optimized data collection. We implemented the proposed method as a tool and demonstrated its effectiveness by applying it to weapon system software that previously had concurrency bugs. In addition, the proposed method{\textquoteright}s high performance was proven by applying it to software into which faults were injected and comparing the results with those obtained using other tools.",
keywords = "Concurrency bug, Defect detection, Multi-process, Multi-thread",
author = "Jihyun Park and Byoungju Choi and Seungyeun Jang",
note = "Funding Information: This research was supported by the Hyundai-Kia Motor Company. This research was supported by the MSIT (Ministry of Science and ICT), Korea, under the ITRC (Information Technology Research Center) support program (IITP-2020-2017-0-01628) supervised by the IITP (Institute for Information & communications Technology Promotion). Funding Information: This research was supported by the Hyundai-Kia Motor Company. This research was supported by the MSIT (Ministry of Science and ICT), Korea, under the ITRC (Information Technology Research Center) support program (IITP-2020-2017-0-01628) supervised by the IITP (Institute for Information & communications Technology Promotion). Publisher Copyright: {\textcopyright} 2020, Springer Science+Business Media, LLC, part of Springer Nature.",
year = "2020",
month = dec,
day = "1",
doi = "10.1007/s10766-020-00661-3",
language = "English",
volume = "48",
pages = "1032--1060",
journal = "International Journal of Parallel Programming",
issn = "0885-7458",
publisher = "Springer New York",
number = "6",
}