Buffer Overflow Defenses. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. http://sfsecurity.pr.erau.edu.
Language tools –
Languages less susceptible to buffer overflows
•Examples: Ada, Java, Perl, Python, etc.
•Pros:
–Automatic bounds checking makes them less susceptible to the buffer overflow problem
–Exception handling can greatly ameliorate the problem
•Cons:
–Using different languages can increase development cost
–None of these languages give the programmer access to the machine at a low level
–None of these languages give you the performance of  C/C++, most require distributable run-time environments
–C/C++ are popular languages that many programmers are familiar with
–What happens when a string that is too long is entered or an array is referenced out of bounds, is an exception generated, does the buffer grow, does the program just halt, is the user asked to provide different input?
–Programmer still must be aware of buffer overflows to provide exception handlers to do what they want (Exception handling comes with its own set of problems)