{'fraction_non_alphanumeric': 0.03766478342749529, 'fraction_numerical': 0.0, 'mean_word_length': 5.144508670520231, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
PBDDR: Probe-Based Deadlock Detection and Recovery Strategy for Component-Based Systems

Correctness is a critical requirement for software systems and one of the key factors in correctness is that the system be deadlock-free. In this paper, we present a Probe-Based Deadlock Detection and Recovery (PBDDR) strategy for Component-based System (CBS) which brings four contributions. First, we define a formal semantic model by using Communicating Sequential Processes (CSP) to abstract interaction behavior for statically analyzing deadlock. Second, we propose a Deadlock Detection Algorithm (DDA) to find deadlock loops in a CBS. Third, we consider two qualities of concern, Timeliness (i.e., response time) and DLC (i.e., How many deadlock loops that a component involved in). Then we give a Deadlock Recovery Algorithm (DRA) to evaluate and replace the component to solve the deadlock problem based on above quality concerns. Finally, we implement our approach using the Arch Studio tool. Experimental results show that our approach has reasonable performance.