Research Article

A Latent Implementation Error Detection Method for Software Validation

Algorithm 1

Counterexample-Guided Synchronous Simulation (CGSS).
Given MS for a system model and ct for a counterexample trace, where:
(1) Traces (MS), that is, (MS) and (MS), ( );
(2) ct could be specified as: (ct) and (ct), ( );
(3) (MS)    (ct) = and (MS) (ct) and ;
Procedure  CGSS {
  /* omit all internal actions in the counterexample trace */
 ct_new = Trim  (ct), where (ct_new) LI (ct) LU (ct)
 /* based on ct _new trace to perform synchronous simulation with MS model */
 for each pair   (ct_new) starting from   and   (MS) starting from {
  /* the external trace of counterexample acts the same as the trace in MS, exit to report non-empty set */
  if   is the last action of ct_new  and   then return non-empty set; exit;
  /* omit considering internal actions and go for the next iteration */
  if   LE (MS)  then   ; continue;
  /* the same external action leads to one synchronous simulation step, and go for the next iteration */
  if     then   , ; continue;
  /* the different external action leads to failure simulation, and exit to report empty set */
  if     then  return empty set; exit;
 } // end of for each pair
} // end of procedure