Research Article

Combining Slicing and Constraint Solving for Better Debugging: The CONBAS Approach

Algorithm 4

CONBAS ( , ).
Require: Program and failing test case
Ensure: Dynamic slice
(1)   RUN
(2)  for all    do
(3)    RELEVANTSLICE
(4)   end for
(5)   for all   do
(6)     POSITIONINEXECUTIONTRACE
(7)    for all  variables in do
(8)  RELEVANTSLICE
(9)    end for
(10) 
(11) end for
(12)   MINHITTINGSETS SETOFALL  
(13)   EXTENDCONTROLSTATEMENTS
(14)  
(15)   CONSTRAINTS
(16)  
(17)  for all    do
(18) 
(19) 
(20)        where
(21) if   CONSTRAINTSOLVER has solution   then
(22)  
(23)  end if
(24)  end for
(25) return