A cyber-physical system-of-systems (CPSoS) tries to achieve prominent goals, such as increasing road capacity in platooning that groups driving vehicles in proximity, through interactions between constituent systems (CSs). However, during the collaboration of CSs, unintended interference in interactions causes collaboration failures that may lead to catastrophic damage, particularly for the safety-critical CPSoS. It is necessary to analyze the failure-inducing interactions (FII) during the collaboration and resolve the root causes of failures. Existing studies have utilized pattern-mining techniques to analyze system failures from logs. However, they have four limitations when applied to collaboration failures: (1) limited data model to handle discrete and continuous logs generated from CPSoS; (2) limited coverage of main features required to sequentially analyze the logs; (3) limitations on identifying multiple failure patterns in a single log; and (4) an absence of an end-to-end solution from pattern analysis to the fault identification. To overcome these limitations, we define a context model for CPSoS logs and propose an FII pattern mining algorithm covering the main features of the sequential analysis, an overlapping clustering technique for multiple pattern mining, and a pattern-based fault localization method. In experiments conducted on several CPSoS examples, we found that the proposed approach achieved the highest context mining accuracy and clustering precision. We also checked that the proposed localization method presented the highest fault localization efficacy. We newly detected undiscovered failure scenarios and bugs in this study. The findings of this study can facilitate the accurate analysis of collaboration failures.
CPSoS는 여러 CPS들이 상호작용하여 단일 시스템으로는 달성할 수 없는 상위 목표를 달성하고자 하는 시스템이다. 이런 복잡한 상호작용 과정에서 CPSoS의 실패가 발생하며, 이런 실패는 소프트웨어적 환경적 상호작용의 간섭에 의해 발생된다. 기존 연구들은 패턴 마이닝 기법들을 활용하여 시스템 실패를 분석하였다. 하지만 기존 기법들은 협력 실패 분석에 있어서 (1) CPSoS logs를 위한 data model의 부재; (2) CPSoS logs의 연속적 분석을 위한 주요 기술적 특징에 대한 한계; (3) 단일 로그에 대한 멀티 패턴 추출 불가; (4) 패턴 분석 후 버그 분석까지 기법의 부재라는 한계점들을 가진다. 본 연구에서는 이러한 한계점들을 해결하고자 CPSoS logs를 위한 컨텍스트 모델을 정의하고, 해당 모델로부터 정확하게 실패 컨텍스트를 마이닝하기 위한 패턴 마이닝과 클러스터링 기법을 제안하였다. 마지막으로 추출한 실패 컨텍스트 패턴으로부터 코드상의 오류 위치를 추정하는 기법을 제안하였다. 여러 CPSoS를 대상으로 하는 실험에서 본 연구 실패 컨텍스트 패턴 추출과 클러스터링에서 가장 높은 정확도를 보였다. 또한, 모든 실패 케이스에 대해서 가장 높은 오류 위치 추정 정확도를 달성하였다. 추가 적으로, 실험 과정에서 기존에 발견되지 않았던 실패 사례와 버그들을 발견하였다. 본 연구의 향후 연구로 오류 위치 추정 기법의 두가지 확장에 대해 제시한다.