Input: , select tests , current level test index lower bound
Output:  A set of features with ATC and , they are global variables
Method:  backtracking
for ( ; ; + +)  do
  
    //Pruning for too expensive test cost
if then
  continue;
end if
   //Pruning for non-decreasing total cost and decreasing misclassification cost
if  (( and then
  continue;
end if
if then
   ; //Update the minimal total cost
   ; //Update the set of features with minimal total cost
end if
 backtracking ;
end for
Algorithm 1: A backtracking algorithm to the FSMC problem.