Treffer: DeCaF - Towards Counterfactual-Guided Explanation and Assertion-Based Inference for CPS Debugging
Weitere Informationen
DeCaF is a counterfactual-guided explanation and assertion-based characterization framework for debugging Cyber-Physical Systems (CPS). It is designed to help engineers understand why failures occur in complex systems by identifying the specific input conditions that lead to violations and suggesting minimal changes to prevent them. How DeCaF Works When a CPS model fails during simulation, DeCaF assists engineers by: Generating Counterfactuals: Given a failing test input, DeCaF generates "counterfactuals," which are minimal changes to the input signals that are both necessary and sufficient to transform the test from a failing state to a passing one. Inferring Assertions: From these counterfactuals, DeCaF infers "success assertions." These are logical predicates that describe the conditions under which the system will operate correctly. This helps engineers understand the recovery conditions without needing to delve into the internal components of the model. Key Features Input-Level Explanations: Unlike other debugging approaches that focus on model structure, DeCaF provides explanations at the input level, showing what changes in input signals would have prevented a failure. Multiple Counterfactual Generation Methods: The framework utilizes three different methods to generate counterfactuals: Random Search (RS) Genetic Algorithm (GA) KD-Tree nearest neighbors (KD) Causal Model Learning: DeCaF uses machine learning models to learn the behavior of the system under test. The supported models include M5 model trees, Random Forest, Support Vector Machine (SVM), and RIPPER. Implementation: DeCaF is implemented as a standalone Python framework. # DeCaF Usage All details are provided in the README file included in the DeCaF Package.zip. A brief description is given below: To use the DeCaF framework, begin by setting up the Python environment, which can be done using venv or conda to manage dependencies listed in the Tool/requirements.txt file. Once the environment is set up, follow a three-step process to generate and ...