On the Automatic Generation of Optimized Software-Based Self-Test Programs for VLIW Processors