Information Technology Reference
In-Depth Information
Step 1. Oine Analysis & Powerset Construction. In this step, a sanity check
of whether a system property violation occurs is first performed. If not,
then there is no need for the causality analysis. Otherwise, we check
Hypothesis 1 defined in Subsection 2.2. When Hypothesis 1 holds, we
gather the set
of faulty components for the violation of ϕ S on trace
Tr , and construct the powerset 2 F of
F
.
Step 2. Trace Reconstruction. The trace reconstruction for the causality analysis
is based on the system specification, and parametric to the suspected
subset
F
of faulty components and the causality definition. This
step is at the core of the causality analysis, and we will discuss it in
Section 4.
Step 3. Causality Analysis & Collecting Causes. For each suspected subset
C⊆F
C⊆
F
is a
culprit according to the chosen causality definition CD .Ifyes,itis
collected for the subsequent culprit minimization; otherwise
of faulty components, the causality analysis checks whether
C
is not a
cause for the violation of system property ϕ S according to CD .
Step 4. Culprit Minimization. The last step of causality analysis is to check
the minimality of each collected culprit, according to Definition 4. Non-
minimal culprits are pruned for precise results of causality analysis.
C
4 Trace Reconstruction and Causality Analysis
The trace reconstruction step in the causality analysis is to identify the set TR C
of traces when the suspected subset
of faulty tasks in system S are replaced
with correct ones and the system is rerun with the same input as observed on
trace Tr . The main idea in obtaining TR C is to specify the logical constraint
ψ that exactly the traces in TR C satisfy. The constraint ψ is composed based
on (1) task constraints for correct tasks, (2) tasks constraints for faulty tasks,
(3) constraints on values observed on trace Tr ,and(4) trace reconstruction rules .
With the constructed logical constraint ψ , the problem of checking of causality
based on Definition 8 (Definition 9, resp.) can be transformed into the problem
of satisfiability (unsatisfiability, resp.) checking, for which state-of-the-art solvers
exist [26].
In this section, we show the extension of the work presented in [26] to the case
where real-time systems are considered, i.e., traces are sequences of timestamped
events as in Definition 1, and system/task specifications are given as logical
constraints in either temporal logics or first order logic on events.
Given a causality analysis problem instance
C
S,ϕ S ,Tr,CD
, Step 1 of the
causality analysis framework is to identify the set
of faulty tasks according to
Definition 2. In Step 2, for each non-empty suspected subset
F
C⊆F
,aset TR C
of system traces is reconstructed, given that the faulty tasks in
are replaced
with good ones and the system S is rerun with the same input events. Each
task's behavior in the system is determined by the trace reconstruction rules,
which indicate what constraint must be put on each task C j in S , according to
whether the task is (1) non-faulty, (2) faulty but not suspected, and (3) faulty
and suspected. Informally, the three rules are summarized as follows.
C
 
Search WWH ::




Custom Search