A computer-implemented method for exposing potential vulnerabilities in software programs using a software vulnerability assessment program, the method comprising: modifying the source code of a tested software program using a native language command, without changing the functional behavior of the tested software program, in order to insert a plurality of commands associated with one or more barriers in the tested software program, the barriers comprising at least one conditional expression, the commands being configured to: track executed code sections of the tested software program, and generate output data with the tracked executed code sections; executing the software vulnerability assessment program to test the modified tested software program, the software vulnerability assessment program configured to: execute the tested software program, and apply random changes to input data for the tested software program; analyzing the tracked executed code sections of the output data, generated during the execution of vulnerability assessment program, to identify one or more uncrossed barriers in the tested software program, the one or more uncrossed barriers being identified by detecting, based on the output data: an executed code section of the tested software program before an uncrossed barrier, and an unexecuted code section of the tested software program following the uncrossed barrier, wherein the uncrossed barrier is a conditional expression that prevented the tested software program from executing the unexecuted code section; generating new input data for the tested software program configured to cross the one or more uncrossed barriers; and merging the new generated input data with a dataset that is being tested by the software vulnerability assessment program for use by the software vulnerability program executing the tested software program to access the previously unexecuted code section. modifying the source code of a tested software program using a native language command, without changing the functional behavior of the tested software program, in order to insert a plurality of commands associated with one or more barriers in the tested software program, the barriers comprising at least one conditional expression, the commands being configured to: track executed code sections of the tested software program, and generate output data with the tracked executed code sections; track executed code sections of the tested software program, and generate output data with the tracked executed code sections; executing the software vulnerability assessment program to test the modified tested software program, the software vulnerability assessment program configured to: execute the tested software program, and apply random changes to input data for the tested software program; execute the tested software program, and apply random changes to input data for the tested software program; analyzing the tracked executed code sections of the output data, generated during the execution of vulnerability assessment program, to identify one or more uncrossed barriers in the tested software program, the one or more uncrossed barriers being identified by detecting, based on the output data: an executed code section of the tested software program before an uncrossed barrier, and an unexecuted code section of the tested software program following the uncrossed barrier, wherein the uncrossed barrier is a conditional expression that prevented the tested software program from executing the unexecuted code section; an executed code section of the tested software program before an uncrossed barrier, and an unexecuted code section of the tested software program following the uncrossed barrier, wherein the uncrossed barrier is a conditional expression that prevented the tested software program from executing the unexecuted code section; generating new input data for the tested software program configured to cross the one or more uncrossed barriers; and merging the new generated input data with a dataset that is being tested by the software vulnerability assessment program for use by the software vulnerability program executing the tested software program to access the previously unexecuted code section.