Automating techniques provide a way to create efficient test programs for characterizing 
semiconductor devices, such as those on a 
silicon die sample. Typically, 
test program creation is a drawn out process involving 
data entry for every test to be run as part of the 
test program. The described techniques improve 
test algorithm selection and automatically populate the 
test algorithm data in creating the 
test program. The automatic 
population may occur by accessing 
test structure, header, and 
test algorithm catalogs. The 
test structure catalog contains physical data for the test program, while the header catalog contains global parameter values. The test 
algorithm catalog has all of the various test algorithms that may be run in a given test, where these test algorithms may be in a template form and specific to any number of different test language abstractions. After test program creation, a validation process is executed to determine if the test program data is valid. 
Invalid data may be flagged, in an example. Once validated, techniques are described for converting the validated test program into an 
executable form, by formatting the various test 
algorithm data in the test program into a form compatible with the applicable test language abstraction selected by the user or the tester.