10. A non-transitory computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by one or more devices, cause the one or more devices to: obtain computer code; perform a static verification analysis of the computer code to identify a point, in the computer code, that, under at least one set of states of variables in the computer code, causes an, the static verification analysis being performed by analyzing a first plurality of possible execution paths of the computer code based on an over-approximation of; back-propagate, from the identified point, through a second plurality of possible execution paths, the second plurality of possible execution paths being determined based on an under-approximation of the states; identify, based on back-propagating through the second plurality of possible execution paths, a second point, in the computer code, as a potential cause of the error; determine a category associated with the second point based on analyzing the identified point using an empiric analysis technique based on semantic information for the computer code, the category corresponding to a first category when the error is caused by code included in the computer code, and the category corresponding to a second category when the error is caused by an input to the computer code, and output information identifying the category and information associated with the second point.
10. A non-transitory computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by one or more devices, cause the one or more devices to: obtain computer code; perform a static verification analysis of the computer code to identify a point, in the computer code, that, under at least one set of states of variables in the computer code, causes an, the static verification analysis being performed by analyzing a first plurality of possible execution paths of the computer code based on an over-approximation of; back-propagate, from the identified point, through a second plurality of possible execution paths, the second plurality of possible execution paths being determined based on an under-approximation of the states; identify, based on back-propagating through the second plurality of possible execution paths, a second point, in the computer code, as a potential cause of the error; determine a category associated with the second point based on analyzing the identified point using an empiric analysis technique based on semantic information for the computer code, the category corresponding to a first category when the error is caused by code included in the computer code, and the category corresponding to a second category when the error is caused by an input to the computer code, and output information identifying the category and information associated with the second point. 11. The non-transitory computer-readable medium of claim 10 , where the first plurality of possible execution paths includes a plurality of ordered states, where each state, of the plurality of ordered states, is defined by: a particular point in the computer code, and representations of variable values corresponding to the particular point in the computer code.