I was looking at old bug reports the other day and thinking about the kinds of bugs I find. Unvalidated input has been a common source of bugs. The program doesn't check if the values entered by the user is within the expected range.
I know there isn't an easy answer for these kinds of errors, but wondered how it will be solved in the future. The only half decent answer I thought of was to stop letting users enter whatever they want. For example if they are entering their phone number only accept digits and ignore anything else. Or some type of keyboard or input system that knows which values are on the good list.
Until then I will continue entering letters in numeric fields and reporting the same type of bugs.